Я хочу всегда показывать ViewController
во всплывающем окне на всех устройствах и всех ориентациях. Я попытался выполнить это, приняв UIPopoverPresentationControllerDelegate
и установив sourceView
и sourceRect
.
Это очень хорошо работает для всех устройств и ориентации, за исключением iPhone 6 Plus в ландшафте. В этом случае контроллер просмотра соскальзывает со дна экрана в виде листа. Как я могу предотвратить это, чтобы он всегда появлялся в popover?
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
let popoverPresentationController = segue.destinationViewController.popoverPresentationController
popoverPresentationController?.delegate = self
popoverPresentationController?.sourceView = self.titleLabel!.superview
popoverPresentationController?.sourceRect = self.titleLabel!.frame }
func adaptivePresentationStyleForPresentationController(controller: UIPresentationController) -> UIModalPresentationStyle {
return UIModalPresentationStyle.None }
Все устройства находятся под iOS 8.2 или выше