iOS13新坑(轉自Cocoachina)


1、用presentViewController而非navigator,但在iOS13里默認是可下拉折疊的對話框,這樣帶來一個界面排版的高度並不是屏幕高度,從而影響界面效果。可以將viewcontroller.modalPresentationStyle設置為UIModalPresentationFullScreen來回到原來的樣式。
2、要兼容iOS13的黑色主題色,就必須去識別當前的配色方案,可以通過viewcontroller.traitCollection.userInterfaceStyle == UIUserInterfaceStyleDark來獲取,需要添加if (@available(iOS 12.0, *))以支持iOS12以下的系統。
3、可排序tableview的右側三條杠會隨着主題色改變色彩,並不會檢測你自己設置的屏幕底色。兩種方法,1、根據上面的方法來識別主題色從而給不同的底色來適配。2、強行更改三條杠為其他圖片。
for (UIView * view in self.subviews)
    {
        if ([NSStringFromClass([view class]) rangeOfString:@"Reorder"].location != NSNotFound)
        {
            for (UIView * subview in view.subviews)
            {
                if ([subview isKindOfClass: [UIImageView class]])
                {
                    ((UIImageView *)subview).image = .....;
                }
            }
        }
    }

4、在其他queue里不能直接創建viewcontroller,alloc都不行,否則會被阻塞。以往我都是先創建好controller,在present的時候再跑到dispatch_async(dispatch_get_main_queue()里,但iOS13不行,創建controller時就需要在main queue里。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM