美文网首页
Swift更新IOS13遇到的问题

Swift更新IOS13遇到的问题

作者: 肆点壹陆 | 来源:发表于2019-09-21 14:48 被阅读0次

    开发语言:Swift 5
    开发环境:Xcode 11

    最近把项目升级到IOS13,在更新后遇到了以下问题。

    1. 界面跳转后无法全屏显示

    这是由于UIViewController的默认属性改变导致的问题,UIViewController中有以下两个属性:

    @available(iOS 3.0, *)
    //转场动画效果
    open var modalTransitionStyle: UIModalTransitionStyle
    
    @available(iOS 3.2, *)
    //转场结束后界面样式
    open var modalPresentationStyle: UIModalPresentationStyle
    

    通常我们使用以下函数进行界面跳转:

    @available(iOS 5.0, *)
     open func present(_ viewControllerToPresent: UIViewController, animated flag: Bool, completion: (() -> Void)? = nil)
    

    而modalPresentationStyle在IOS13中,默认值是automatic,所以导致转场后的界面无法全屏显示,我们只需要修改modalPresentationStyle为fullScreen即可恢复成以前的样子了。

    • 在UINavigationController中同样也有modalPresentationStyle属性,必要时请一同修改。

    2. 强制横屏启动

    在之前的版本设置app强制横屏驱动需要在AppDelegate中实现以下函数:

    func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask {
         return .landscapeRight
    }
    

    在IOS13中,发现此函数无法被调用,原因是需要设置项目属性full screen,设置后此函数会正常调用,程序也会正常横屏启动


    相关文章

      网友评论

          本文标题:Swift更新IOS13遇到的问题

          本文链接:https://www.haomeiwen.com/subject/wtheuctx.html