iPhoneX 适配

iPhoneX 适配

参考:

  1. developer.apple.com/videos/play…
  2. developer.apple.com/videos/play…
  3. medium.com/rosberryapp…
  4. medium.com/@kahseng.le…

参数:

lck_safeAreaLayoutGuide: Snap 中使用
lck_safeAreaInsets: Frame 布局中使用, 在 layoutSubview 时生效
lck_keyWindowSafeAreaInsets: Frame 布局中使用,全局生效ios

1. 适配 UITableView(UIScrollView/UICollection)

_tableView.snp.makeConstraints { (make) in
	make.leading.trailing.top.bottom.equalTo(0)
}
复制代码

不须要作额外适配,在 contentInsetAdjustmentBehavior = .automatic 状况下 contentOffSet 会自动适配 Home Indicatorapp

2. 适配自定义控件

// 定义 containerView
let containerView = UIView()
containerView.backgroundColor = _switchView.backgroundColor
addSubview(containerView)
containerView.snp.makeConstraints { (make) in
   make.leading.trailing.bottom.equalTo(0)
}
// 适配 safeArea
containerView.addSubview(_switchView)
    _switchView.snp.makeConstraints { (make) in
    make.leading.trailing.top.equalTo(0)   
    make.height.equalTo(44)
    make.bottom.equalTo(lck_safeAreaLayoutGuide)
}
复制代码

3.未适配

self.navigationItem.searchController = searchController 由于导航栏底部分割线自定义存在问题iphone

4.其余

left & leading: leading 布局与 local 有关,一些国家阅读习惯是从右往左, leading 会自动适配, 而 left 是绝对布局ide

相关文章
相关标签/搜索