ios新版本特性与适配iOS11

iOS11及iPhoneX适配

2017-11-02  本文已影响448人  沙琪玛dd

iOS11及iPhoneX适配

navigation bar适配

1. navigation bar

2. UIScrollView、UITableView、UICollectionView

#ifdef __IPHONE_11_0   
if ([tableView respondsToSelector:@selector(setContentInsetAdjustmentBehavior:)]) {
    tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
}
#endif
if (@available(iOS 11.0, *)) {
    make.edges.equalTo()(self.view.safeAreaInsets)
} else {
    make.edges.equalTo()(self.view)
}

3.适配iPhoneX

  1. Safe Area
  2. 状态栏由20pt变成44pt
  3. 下方虚拟home键高度为34pt
  4. 导航栏加入大标题模式
  1. iPhoneX需要一张更高分辨率的图片来作为启动图片,需要在images.xcassets中用launchImage设置的启动图中加入1125*2436的图片。
  2. 在iPhoneX上并不建议隐藏状态栏,我们app中为了增加用户的沉浸感可以在启动页和欢迎页先隐藏导航栏,进入应用之后再显示。先将UIViewControllerBasedStatusBarAppearance设置为NO
    然后将工程TARGETS里面General中的Hide Status Bar勾选上(因为一开始进来是要先隐藏)
    最后在启动页、欢迎页显示完之后调用。
  3. 虚拟home键。iPhone X取消了实体Home键,取而代之的是虚拟的Home键。虚拟home键高度占34pt,在UIScrollView、TableView、CollectionView上就需要做适配。适配的主要内容也就是在滑动到底部的时候需要留出34pt的空隙,可以参考系统的setting的做法。具体适配如下:
if (IS_iPhone_X) {
        UIView * footerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, 34)];
        self.materialCenterTableView.tableFooterView = footerView;
    }
    
上一篇下一篇

猜你喜欢

热点阅读