认为iPhone无法在iOS 10中运行?

Lim*_*ean 3 iphone ios ios10

我想在iOS 10中使用popover,这段代码曾经在iPhone上运行良好但现在没有(它显示全屏),我做错了什么?segue设置为"Present As Popover".

 override func prepare(for segue:UIStoryboardSegue, sender:AnyObject!) {  
    if segue.identifier == "about" {  
        let aboutController = segue.destination as! AboutController  
        aboutController.preferredContentSize = CGSize(width:300, height:440)  

        let popoverController = aboutController.popoverPresentationController  

        if popoverController != nil {  
            popoverController!.delegate = self  
            popoverController!.backgroundColor = UIColor.black  
        }  
    }  
}  

func adaptivePresentationStyleForPresentationController(controller: UIPresentationController) -> UIModalPresentationStyle {  
    return .none  
}  
Run Code Online (Sandbox Code Playgroud)

Pau*_*w11 8

许多功能已在Swift 3中重命名,包括adaptivePresentationStyleForPresentationController- 现在就是这样adaptivePresentationStyle(for:)

将您的代码更改为

func adaptivePresentationStyle(for controller:UIPresentationController) -> UIModalPresentationStyle {
    return .none
}
Run Code Online (Sandbox Code Playgroud)

由于您的函数名称不匹配,因此它未被调用,并且因为它是协议中的可选函数,所以您没有收到警告.