Swift 2.0中的弹出视图在iPhone 6s Plus上无法获得正确位置,但在iPhone 6s上运行良好

3
我有一个弹出窗口类来处理弹出窗口问题,但我无法理解为什么iPhone 6s Plus无法设置固定高度,而相同的代码在iPhone 6s上运行良好。
请帮忙提供任何想法和建议。谢谢。
在iPhone 6s Plus上的输出: The output on iPhone 6s plus 在iPhone 6s上的输出(期望输出): The output on iPhone 6s (Expected output) 弹出功能代码:
func showPopover(segue: UIStoryboardSegue?, sender: AnyObject?, controller:UIViewController, animated:Bool) {
    let senderView = sender as! UIView
    controller.modalPresentationStyle = UIModalPresentationStyle.Popover
    controller.popoverPresentationController?.delegate = self
    controller.popoverPresentationController?.sourceView = senderView
    controller.popoverPresentationController?.sourceRect = senderView.bounds;
    self.presentViewController(controller, animated: animated, completion: nil)
}

弹出窗口函数调用:

if let controller = segue.destinationViewController as? TeamMenuPopupTableViewController {
            controller.rosterHandler = self.homeRoster
            controller.timeoutHandler = self.homeTimeout
            controller.boxscoreHandler = self.homeBoxscore
            controller.preferredContentSize = CGSize(width: 200, height: 132)
            showPopover(segue, sender: sender, controller: controller, animated:false)
        }

1
我认为你有一个尺寸类别的问题 - 在这里看一下:https://dev59.com/f10a5IYBdhLWcg3waH7j - sschale
我正在使用以下Swift代码来处理尺寸类别问题。但是目前还没有成功。@available(iOS 8.0, *) func adaptivePresentationStyleForPresentationController(controller: UIPresentationController) -> UIModalPresentationStyle { // Return no adaptive presentation style, use default presentation behaviour return UIModalPresentationStyle.None } - IKit Chu
尝试升级到Xcode 7.3,看看是否有帮助。 - Dan Levy
1个回答

1
我在互联网上找到了解决方案,它应该添加这个函数来处理iPhone Plus的情况。
func adaptivePresentationStyleForPresentationController(
    controller: UIPresentationController, 
    traitCollection: UITraitCollection) 
    -> UIModalPresentationStyle {
        return .None
}

请查看此链接以获取详细信息。 为什么iPhone 6 Plus横屏不使用preferredContentSize?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接