iPhoneX 适配
参考:
参数:
lck_safeAreaLayoutGuide
: Snap 中使用lck_safeAreaInsets
: Frame 布局中使用, 在 layoutSubview 时生效lck_keyWindowSafeAreaInsets
: Frame 布局中使用,全局生效
1. 适配 UITableView(UIScrollView/UICollection)
_tableView.snp.makeConstraints { (make) in
make.leading.trailing.top.bottom.equalTo(0)
}
复制代码
不需要做额外适配,在 contentInsetAdjustmentBehavior = .automatic
情况下 contentOffSet
会自动适配 Home Indicator
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
因为导航栏底部分割线自定义存在问题
4.其他
left & leading
: leading
布局与 local 有关,一些国家阅读习惯是从右往左, leading 会自动适配, 而 left
是绝对布局