iOS 13适配小记

目录

  • 模态跳转适配
  • 暗黑模式适配
  • UITabbar选中颜色调整
  • KVC设置私有属性适配
  • DeviceToken获取方式适配

一、模态跳转适配

  • iOS13默认UIModalPresentationAutomatic,如果不接受这种弹出样式,需手动设置模态样式。
1
2
3
4
5
6
7
8
9
if (@available(iOS 13.0, *)) {
vc.modalPresentationStyle = UIModalPresentationOverFullScreen;
vc.modalPresentationCapturesStatusBarAppearance = YES;
} else {
}

[self presentViewController:vc
animated:animated
completion:completion];
  • 或者通过runtime,全局设置,这样就可以不用一个一个改样式了

二、暗黑模式适配

项目暂时没有适配暗黑模式,不过适配资料随便谷歌一下就能找到,需要适配的可以自行谷歌百度啦。

三、UITabbar选中颜色调整

  • iOS13系统UITabBarItem选中颜色可能随机会变成蓝色,调用以下代码
1
2
3
4
5
6
if (@available(iOS 13, *)) {
///fix iOS 13 change defalt color
[UITabBar appearance].tintColor = [UIColor wb_colorWithHexString:@"#2C2C2C"];
[UITabBar appearance].unselectedItemTintColor = [UIColor wb_colorWithHexString:@"#666666"];
} else {
}
  • iOS13设置tabbar样式api也有所调整,具体可查看系统API头文件,可参考以下代码:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
        //隐藏分割线
    #ifdef IOS13_SDK_ALLOWED
    if (@available(iOS 13.0, *)) {
    UITabBarAppearance *tabBarAppearance = [[UITabBarAppearance alloc] init];
    [tabBarAppearance configureWithDefaultBackground];
    tabBarAppearance.shadowColor = [UIColor clearColor];
    tabBarAppearance.backgroundColor = [UIColor whiteColor];
    UITabBar.appearance.standardAppearance = tabBarAppearance;
    self.tabBar.standardAppearance = tabBarAppearance;
    } else {
    #endif
    [[UITabBar appearance] setShadowImage:[[UIImage alloc]init]];
    [[UITabBar appearance] setBackgroundImage:[[UIImage alloc]init]];
    [UITabBar appearance].backgroundColor = [UIColor whiteColor];
    #ifdef IOS13_SDK_ALLOWED
    }
    #endif

四、KVC设置私有属性适配

  • 在iOS13之前,我们可能通过KVC的方式,访问系统属性,如设置UITextField占位符颜色,但这种方式在iOS13系统会崩溃,解决方式是通过UITextField提供的富文本设置API
  • 如果要继续是用KVC修改私有属性,可参考腾讯开源框架QMUI_iOS解决方案

五、DeviceToken获取方式适配

  • 如果集成的是像极光类似的三方框架,得及时更新相关的SDK,保证推送功能能正常使用

结语

自己项目暂时遇到的适配的问题就这些了,也进行了相应的适配工作,如以后还有遇到需要适配的问题也会在更新博客的。


-------------本文结束感谢您的阅读-------------
分享到:
0%