一、用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