Ich versuche, den Effekt der mobilen YouTube App für iOS wiederherzustellen, wenn ein Video im Vollbildmodus im Querformat wiedergegeben wird. Nur der obere Teil eines Fensters (nächste/empfohlene Videos) ist sichtbar, und beim Wischen nach oben werden sie überlappend mit Video angezeigt (das im Hintergrund läuft). Wenn Sie nach unten wischen, werden sie wieder ausgeblendet.Ein Popover teilweise außerhalb des Bildschirms anzeigen
So habe ich den folgenden Code in meinem Video-Controller, der das Video im Querformat zeigt:
private func showPopover() {
let popoverController = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "popoverController")
popoverController.modalPresentationStyle = .popover
popoverController.popoverPresentationController?.permittedArrowDirections = UIPopoverArrowDirection(rawValue: 0)
popoverController.popoverPresentationController?.delegate = self
let desiredWidth:CGFloat = 200
let desiredHeight:CGFloat = 300
// Initially it's at low right corner
let origin = CGPoint(x: (self.view.superview?.frame.width)! - desiredWidth - 10, y: (self.view.superview?.frame.height)! - 10)
let size = CGSize(width: desiredWidth, height: desiredHeight)
popoverController.popoverPresentationController?.sourceRect = CGRect(origin: origin, size: size)
popoverController.popoverPresentationController?.sourceView = popoverController.view
self.present(popoverController, animated: true, completion: nil)
}
func adaptivePresentationStyle(for controller: UIPresentationController) -> UIModalPresentationStyle {
return .none
}
Die popover fein zeigt sich, ist aber immer vollständig auf dem Bildschirm. Ich brauche es nur teilweise sichtbar (nur die oberen 10 Pixel, wenn möglich). Aber etwas verhindert, dass der View-Controller auf diese Weise positioniert wird.
Wie bewege ich die popover, so dass nur Top-10-Pixel sichtbar sind? Es sollte unter so etwas wie in dem Bild sehen (Anmerkung: diese wurde Erzeugung von Bildbearbeitung, nicht programmatisch):
Macht überhaupt keinen Unterschied, leider. – LNI
Können Sie bitte einen Screenshot bereitstellen, was auf dem Bildschirm passiert? –
Sicher, nur die Bearbeitung zu Frage, um einen Screenshot hinzuzufügen. – LNI