mirror of
https://github.com/cranci1/Sora.git
synced 2026-04-21 08:32:00 +00:00
adjusted the positions of the buttons for symmetry
This commit is contained in:
parent
a5f9877474
commit
0a526b2fe9
1 changed files with 24 additions and 33 deletions
|
|
@ -144,9 +144,9 @@ class CustomMediaPlayerViewController: UIViewController {
|
||||||
addInvisibleControlOverlays()
|
addInvisibleControlOverlays()
|
||||||
setupSubtitleLabel()
|
setupSubtitleLabel()
|
||||||
setupDismissButton()
|
setupDismissButton()
|
||||||
|
setupQualityButton()
|
||||||
setupMenuButton()
|
setupMenuButton()
|
||||||
setupSpeedButton()
|
setupSpeedButton()
|
||||||
setupQualityButton()
|
|
||||||
setupSkip85Button()
|
setupSkip85Button()
|
||||||
setupWatchNextButton()
|
setupWatchNextButton()
|
||||||
addTimeObserver()
|
addTimeObserver()
|
||||||
|
|
@ -527,20 +527,20 @@ class CustomMediaPlayerViewController: UIViewController {
|
||||||
menuButton = UIButton(type: .system)
|
menuButton = UIButton(type: .system)
|
||||||
menuButton.setImage(UIImage(systemName: "text.bubble"), for: .normal)
|
menuButton.setImage(UIImage(systemName: "text.bubble"), for: .normal)
|
||||||
menuButton.tintColor = .white
|
menuButton.tintColor = .white
|
||||||
|
|
||||||
if let subtitlesURL = subtitlesURL, !subtitlesURL.isEmpty {
|
if let subtitlesURL = subtitlesURL, !subtitlesURL.isEmpty {
|
||||||
menuButton.showsMenuAsPrimaryAction = true
|
menuButton.showsMenuAsPrimaryAction = true
|
||||||
menuButton.menu = buildOptionsMenu()
|
menuButton.menu = buildOptionsMenu()
|
||||||
} else {
|
} else {
|
||||||
menuButton.isHidden = true
|
menuButton.isHidden = true
|
||||||
}
|
}
|
||||||
|
|
||||||
controlsContainerView.addSubview(menuButton)
|
controlsContainerView.addSubview(menuButton)
|
||||||
menuButton.translatesAutoresizingMaskIntoConstraints = false
|
menuButton.translatesAutoresizingMaskIntoConstraints = false
|
||||||
guard let sliderView = sliderHostingController?.view else { return }
|
|
||||||
NSLayoutConstraint.activate([
|
NSLayoutConstraint.activate([
|
||||||
menuButton.bottomAnchor.constraint(equalTo: sliderView.topAnchor),
|
menuButton.topAnchor.constraint(equalTo: controlsContainerView.topAnchor, constant: 20),
|
||||||
menuButton.trailingAnchor.constraint(equalTo: sliderView.trailingAnchor),
|
menuButton.trailingAnchor.constraint(equalTo: qualityButton.leadingAnchor, constant: -20),
|
||||||
menuButton.widthAnchor.constraint(equalToConstant: 40),
|
menuButton.widthAnchor.constraint(equalToConstant: 40),
|
||||||
menuButton.heightAnchor.constraint(equalToConstant: 40)
|
menuButton.heightAnchor.constraint(equalToConstant: 40)
|
||||||
])
|
])
|
||||||
|
|
@ -550,30 +550,20 @@ class CustomMediaPlayerViewController: UIViewController {
|
||||||
speedButton = UIButton(type: .system)
|
speedButton = UIButton(type: .system)
|
||||||
speedButton.setImage(UIImage(systemName: "speedometer"), for: .normal)
|
speedButton.setImage(UIImage(systemName: "speedometer"), for: .normal)
|
||||||
speedButton.tintColor = .white
|
speedButton.tintColor = .white
|
||||||
|
|
||||||
speedButton.showsMenuAsPrimaryAction = true
|
speedButton.showsMenuAsPrimaryAction = true
|
||||||
speedButton.menu = speedChangerMenu()
|
speedButton.menu = speedChangerMenu() // If you want the speed menu
|
||||||
|
|
||||||
controlsContainerView.addSubview(speedButton)
|
controlsContainerView.addSubview(speedButton)
|
||||||
speedButton.translatesAutoresizingMaskIntoConstraints = false
|
speedButton.translatesAutoresizingMaskIntoConstraints = false
|
||||||
|
|
||||||
guard let sliderView = sliderHostingController?.view else { return }
|
// Pin it at the top, to the left of the subtitles (menu) button.
|
||||||
|
NSLayoutConstraint.activate([
|
||||||
if menuButton.isHidden {
|
speedButton.topAnchor.constraint(equalTo: controlsContainerView.topAnchor, constant: 20),
|
||||||
NSLayoutConstraint.activate([
|
speedButton.trailingAnchor.constraint(equalTo: menuButton.leadingAnchor, constant: -20),
|
||||||
speedButton.bottomAnchor.constraint(equalTo: controlsContainerView.bottomAnchor, constant: -50),
|
speedButton.widthAnchor.constraint(equalToConstant: 40),
|
||||||
speedButton.trailingAnchor.constraint(equalTo: sliderView.trailingAnchor),
|
speedButton.heightAnchor.constraint(equalToConstant: 40)
|
||||||
speedButton.widthAnchor.constraint(equalToConstant: 40),
|
])
|
||||||
speedButton.heightAnchor.constraint(equalToConstant: 40)
|
|
||||||
])
|
|
||||||
} else {
|
|
||||||
NSLayoutConstraint.activate([
|
|
||||||
speedButton.bottomAnchor.constraint(equalTo: controlsContainerView.bottomAnchor, constant: -50),
|
|
||||||
speedButton.trailingAnchor.constraint(equalTo: menuButton.leadingAnchor),
|
|
||||||
speedButton.widthAnchor.constraint(equalToConstant: 40),
|
|
||||||
speedButton.heightAnchor.constraint(equalToConstant: 40)
|
|
||||||
])
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func setupWatchNextButton() {
|
func setupWatchNextButton() {
|
||||||
|
|
@ -599,8 +589,8 @@ class CustomMediaPlayerViewController: UIViewController {
|
||||||
]
|
]
|
||||||
|
|
||||||
watchNextButtonControlsConstraints = [
|
watchNextButtonControlsConstraints = [
|
||||||
watchNextButton.trailingAnchor.constraint(equalTo: qualityButton.leadingAnchor),
|
watchNextButton.trailingAnchor.constraint(equalTo: sliderHostingController!.view.trailingAnchor),
|
||||||
watchNextButton.bottomAnchor.constraint(equalTo: skip85Button.bottomAnchor),
|
watchNextButton.bottomAnchor.constraint(equalTo: sliderHostingController!.view.topAnchor, constant: -5),
|
||||||
watchNextButton.heightAnchor.constraint(equalToConstant: 50),
|
watchNextButton.heightAnchor.constraint(equalToConstant: 50),
|
||||||
watchNextButton.widthAnchor.constraint(greaterThanOrEqualToConstant: 120)
|
watchNextButton.widthAnchor.constraint(greaterThanOrEqualToConstant: 120)
|
||||||
]
|
]
|
||||||
|
|
@ -637,17 +627,18 @@ class CustomMediaPlayerViewController: UIViewController {
|
||||||
qualityButton.showsMenuAsPrimaryAction = true
|
qualityButton.showsMenuAsPrimaryAction = true
|
||||||
qualityButton.menu = qualitySelectionMenu()
|
qualityButton.menu = qualitySelectionMenu()
|
||||||
qualityButton.isHidden = true
|
qualityButton.isHidden = true
|
||||||
|
|
||||||
controlsContainerView.addSubview(qualityButton)
|
controlsContainerView.addSubview(qualityButton)
|
||||||
qualityButton.translatesAutoresizingMaskIntoConstraints = false
|
qualityButton.translatesAutoresizingMaskIntoConstraints = false
|
||||||
|
|
||||||
NSLayoutConstraint.activate([
|
NSLayoutConstraint.activate([
|
||||||
qualityButton.bottomAnchor.constraint(equalTo: controlsContainerView.bottomAnchor, constant: -50),
|
qualityButton.topAnchor.constraint(equalTo: controlsContainerView.topAnchor, constant: 20),
|
||||||
qualityButton.trailingAnchor.constraint(equalTo: speedButton.leadingAnchor),
|
qualityButton.trailingAnchor.constraint(equalTo: controlsContainerView.trailingAnchor, constant: -20),
|
||||||
qualityButton.widthAnchor.constraint(equalToConstant: 40),
|
qualityButton.widthAnchor.constraint(equalToConstant: 40),
|
||||||
qualityButton.heightAnchor.constraint(equalToConstant: 40)
|
qualityButton.heightAnchor.constraint(equalToConstant: 40)
|
||||||
])
|
])
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
func updateSubtitleLabelAppearance() {
|
func updateSubtitleLabelAppearance() {
|
||||||
subtitleLabel.font = UIFont.systemFont(ofSize: CGFloat(subtitleFontSize))
|
subtitleLabel.font = UIFont.systemFont(ofSize: CGFloat(subtitleFontSize))
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue