iOS 13 适配

释放双眼,带上耳机,听听看~!

前言

苹果爸爸又出新品,想必各位大佬,都是紧跟其步伐,在此总结下目前iOS 13 遇到的奔溃,以及Dark Mode 等问题

setValue:forKeyPath: 方法奔溃

 

这个是使用setValue:forKeyPath:方法直接设置textFiled的textColor,用测试手机测试了下,只有iOS13 是奔溃的,iOS13以下的不会有问题,我们使用attribute的方式,就可以解决此问题,代码如下:

   NSMutableAttributedString *attributedStr = [[NSMutableAttributedString alloc] initWithString:@""];
    [attributedStr setAttributes:@{NSFontAttributeName:[UIFont systemFontOfSize:13], NSForegroundColorAttributeName:[UIColor colorFromHexString:@"#666666"]} range:NSMakeRange(0, 15)];
    
    self.rightTextField.attributedText = attributedStr;
    

如果用swift,使用KVC也会奔溃,可以使用runtime来代理,可以看下大佬的这个文章

暗黑模式 – Dark mode

iOS13 用户可以选择暗黑模式

看着是不错,就是有bug,当设置了Dark 样式,项目中有些界面会受到影响,看了下代码大多数是cell,弹框,键盘等,看了微信的App也有问题,原来iOS 13 是“来自天堂的魔鬼”😃😁哈哈哈~~

上面是项目中的一个设置界面,只有在iOS13 且设置了暗黑模式,才有问题。
那么怎么修复呢?
在官方文档中链接1可以看到

当我们在一个普通的 controlle, view 上重写这个属性,只会影响当前的视图,不会影响前面的 controller 和后续 present 的 controller。
但是当我们在 window 上设置 overrideUserInterfaceStyle 的时候,就会影响 window 下所有的 controller, view,如果想监听是Light或者是Dark模式,可以通过下面方法:

//Called when the iOS interface environment changes.
- (void)traitCollectionDidChange:(UITraitCollection *)previousTraitCollection;

so,如果想修改上面设置页面的出现的“黑色cell”,可以在Appdelegate中添加如下代码:

    if (@available(iOS 13.0, *)) {
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 130000
        self.window.overrideUserInterfaceStyle = UIUserInterfaceStyleLight;
#endif
    } else {
        // Fallback on earlier versions
    }
    

如果不使用__IPHONE_OS_VERSION_MAX_ALLOWED的宏,则你的项目在Xcode11以下版本会报错,因为overrideUserInterfaceStyle在 iOS13 以下是没有这个api的

状态栏

状态栏适配iOS 13,代码如下:

    if (@available(iOS 13.0, *)) {
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 130000
        [[UIApplication sharedApplication]setStatusBarStyle:UIStatusBarStyleDarkContent];
#endif
    } else {
        [[UIApplication sharedApplication]setStatusBarStyle:UIStatusBarStyleDefault];
    }
    

目前对iOS 13 测试出现的问题只有这几个,后续还会详细测试,有时间再分享,如有问题,请大佬们赐教~😄😄

人已赞赏
iOS文章

iOS UILabel 跑马灯效果与渐变色

2019-10-12 15:47:18

iOS文章

Xcode 工程解析---Project、Target、Workspace、Scheme

2019-10-12 16:26:17

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索