首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iPhone X-设置主页周围区域的颜色指示器

iPhone X-设置主页周围区域的颜色指示器
EN

Stack Overflow用户
提问于 2017-10-23 11:43:12
回答 2查看 5.3K关注 0票数 4

当我尝试将一个工作表与iPhone X的安全区域对齐时,它会在工作表下面留下一个透明区域,这对Xcode来说是个新手。

有没有一种方法可以设置该区域的填充,而不是扩展板材或在安全区域外对齐?

EN

回答 2

Stack Overflow用户

发布于 2017-11-17 23:17:53

这是我的小扩展。如果任何人可以提出一个改进建议,以避免访问通过“魔术数字”标签添加的视图-欢迎!

代码语言:javascript
复制
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
}

}

票数 5
EN

Stack Overflow用户

发布于 2017-10-23 12:52:03

是的,这不是一个好主意,但可以解决你的问题。

请按照以下步骤操作:

  • Enable 'Safe Area Layout'
  • Create/add a view (即命名为bottomPaddingView) (编程或使用故事板)具有背景颜色,与您的工作表相同(使用以下约束-以下约束不是代码结构,但仅显示约束/锚点关系)
  • bottomPaddingView.bottom =
  • bottomPaddingView.trailing = self.view.bottom
  • bottomPaddingView.bottom= self.view.leading
  • bottomPaddingView.trailing=self.view.bottom
  • bottomPaddingView.top = self.view.safeAreaLayoutConstraint.bottom //如果您启用了'Safe Area Layout‘
  • or bottomPaddingView.top = self.view.bottomLayoutguide //如果您没有启用'Safe Area Layout'

现在隐藏/取消隐藏与动作关系可见性相关的bottomPaddingView

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46881641

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档