iPhoneX适配

作者: 永不止步123 | 来源:发表于2017-12-06 20:53 被阅读15次

    iPhoneX来了,作为一名iOS Developer🙄,又一次踏上了适配之路...

    适配启动图

    如果在iPhoneX启动你的应用发现上下都有黑边,那你的LaunchImage启动方案肯定是Assets。
    解决方法:
    1 在LaunchImage对应的Assets文件夹里中添加一张像素1125 * 2436的启动图。(可以按照苹果规范命名为Default-iOS11-812h@3x.png
    2 在对应的Contents.json文件中增加下面的内容(注意JSON Array元素分割符)

    {
        "orientation" : "portrait",
        "extent" : "full-screen",
        "idiom" : "iphone",
        "subtype" : "2436h",
        "filename" : "启动图名字.png",
        "minimum-system-version" : "11.0",
        "scale" : "3x"
    }
    

    或者放弃Assets 直接用LaunchScreen.storyboard作为启动图

    导航栏高度

    • iOS 7之前
      状态栏不在屏幕高度内,所以导航栏高度:44pt

    • iOS 7 ~ iOS 10
      状态栏:20pt
      导航高度:44pt
      合计可用高度:64pt

    • iOS 11
      非iPhoneX:64pt
      iPhoneX:44pt(状态栏) + 44pt = 88pt

    iPhoneX 用到的宏

    // iPhone X
    #define iPhoneX ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1125, 2436), [[UIScreen mainScreen] currentMode].size) : NO)
    // 状态栏高度
    #define APP_STATUS_HEIGHT (iPhoneX ? 44 : 20)
    // 导航高度
    #define APP_NAVIGATION_HEIGHT ((APP_STATUS_HEIGHT) + 44)
    // HOME栏高度
    #define APP_HOME_INDICATOR_HEIGHT (iPhoneX ? 34 : 0)
    // tabBar高度
    #define APP_TAB_BAR_HEIGHT (49 + (APP_HOME_INDICATOR_HEIGHT))
    
    

    TabBar

    iPhoneX 底部新增一个半角的矩形,使得tabBar多出来了34p的高度。
    如果你的用是系统的TabBar会自动适配safeArea。
    如果你使用的是自定义TabBar你可能会遇到它的半角区域变成黑色的问题,原因是你自定义的TabBar高度比系统的小34p。
    解决方法 1:

    controller.tabBar.backgroundColor = [UIColor whiteColor];//添加你的颜色
    

    解决方法 2:
    修改你自定义的tabBar的frame,重新布局内容。

    iPhoneX 在push进入 webView页面时,底部有黑边闪过

    这也是由iOS11的safeArea引起的问题。检查webView的高度是否是(屏幕高度-(导航栏高度+状态栏高度))
    解决方案:
    设置webView.scrollView的contentInsetAdjustmentBehavior

    if (@available(iOS 11.0, *)) {
        webView.scrollView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
    }
    

    待续...

    参考

    Apple iPhoneX Human Interface Guidelines

    最后

    感谢阅读,如果对大家有帮助,请在github上follow和star,本文发布在逆流的简书博客,转载请注明出处

    相关文章

      网友评论

        本文标题:iPhoneX适配

        本文链接:https://www.haomeiwen.com/subject/dxskixtx.html