iPhone X - 设置主页指示器周围区域的颜色
Posted
技术标签:
【中文标题】iPhone X - 设置主页指示器周围区域的颜色【英文标题】:iPhone X - Set the color of the area around home indicator 【发布时间】:2017-10-23 03:43:11 【问题描述】:在尝试将工作表与 iPhone X 的安全区域对齐时,我对 Xcode 非常陌生,它会在工作表下方留下一个透明区域。
有没有办法在不扩展工作表的情况下设置该区域的填充或在安全区域之外对齐?
【问题讨论】:
【参考方案1】:这是我的小扩展。 如果有人可以建议改进以不通过“幻数”标签访问添加的视图 - 欢迎!
extension UIViewController
private static let insetBackgroundViewTag = 98721 //Cool number
func paintSafeAreaBottomInset(withColor color: UIColor)
guard #available(ios 11.0, *) else
return
if let insetView = view.viewWithTag(UIViewController.insetBackgroundViewTag)
insetView.backgroundColor = color
return
let insetView = UIView(frame: .zero)
insetView.tag = UIViewController.insetBackgroundViewTag
insetView.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(insetView)
view.sendSubview(toBack: insetView)
insetView.leadingAnchor.constraint(equalTo: view.leadingAnchor).isActive = true
insetView.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true
insetView.trailingAnchor.constraint(equalTo: view.trailingAnchor).isActive = true
insetView.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor).isActive = true
insetView.backgroundColor = color
【讨论】:
【参考方案2】:是的,这不是一个好主意,但可以解决您的问题。
按照以下步骤操作:
启用“安全区域布局” 使用与工作表颜色相同的背景颜色创建/添加视图(即命名为 bottomPaddingView)(以编程方式或使用情节提要)。 定位它(使用以下约束 - 以下约束不是代码结构,而只是显示约束/锚关系) - bottomPaddingView.bottom = self.view.bottom - bottomPaddingView.trailing = self.view.trailing - bottomPaddingView.leading = self.view.leading - bottomPaddingView.top = self.view.safeAreaLayoutConstraint.bottom // 如果您启用了“安全区域布局” - 或 bottomPaddingView.top = self.view.bottomLayoutguide // 如果你没有启用“安全区域布局”现在隐藏/取消隐藏您的 bottomPaddingView
与淡入淡出动画的行动可见性有关。
【讨论】:
以上是关于iPhone X - 设置主页指示器周围区域的颜色的主要内容,如果未能解决你的问题,请参考以下文章
UITableview 与 iPhone X 上的主页指示器合并