iOS13新坑(转自Cocoachina)

一、用presentViewController而非navigator,但在iOS13里默认是可下拉折叠的对话框,这样带来一个界面排版的高度并非屏幕高度,从而影响界面效果。能够将viewcontroller.modalPresentationStyle设置为UIModalPresentationFullScreen来回到原来的样式。
二、要兼容iOS13的黑色主题色,就必须去识别当前的配色方案,能够经过viewcontroller.traitCollection.userInterfaceStyle == UIUserInterfaceStyleDark来获取,须要添加if (@available(iOS 12.0, *))以支持iOS12如下的系统。
三、可排序tableview的右侧三条杠会随着主题色改变色彩,并不会检测你本身设置的屏幕底色。两种方法,一、根据上面的方法来识别主题色从而给不一样的底色来适配。二、强行更改三条杠为其余图片。
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 = .....;
                }
            }
        }
    }

四、在其余queue里不能直接建立viewcontroller,alloc都不行,不然会被阻塞。以往我都是先建立好controller,在present的时候再跑到dispatch_async(dispatch_get_main_queue()里,但iOS13不行,建立controller时就须要在main queue里。async

相关文章
相关标签/搜索