iPhone X - 设置家庭指示器周围区域的颜色

时间:2017-10-23 03:43:12

标签: ios xcode indicator iphone-x safearealayoutguide

在尝试将纸张对齐到iPhone X的安全区域时,我对Xcode非常陌生,它在纸张下面留下了一个透明区域。

有没有办法设置该区域的填充而不扩展工作表或在安全区域外对齐?

enter image description here

2 个答案:

答案 0 :(得分:3)

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

请按照以下步骤操作:

  • 启用'安全区域布局'
  • 创建/添加一个视图(即将其命名为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 //如果您尚未启用'安全区域布局'

现在使用淡入淡出动画隐藏/取消隐藏<link href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css" rel="stylesheet"/> <script src="https://code.jquery.com/jquery-1.12.4.js"></script> <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script> <link href="https://cdn.jsdelivr.net/gh/godswearhats/jquery-ui-rotatable@1.1/jquery.ui.rotatable.css" rel="stylesheet"/> <script src="https://cdn.jsdelivr.net/gh/godswearhats/jquery-ui-rotatable@1.1/jquery.ui.rotatable.min.js"></script> <script src="https://html2canvas.hertzen.com/build/html2canvas.js"></script> <form method="post" action=""> <input name="user_file[]" id="user_file" style="position: relative;overflow: hidden" multiple="" type="file"> <div class="new-multiple"></div> <input type="submit" name="submit" class="user_submit" value="submit" /> </form>关于动作可见性的信息。

答案 1 :(得分:2)

这是我的小扩展。 如果有人可以通过&#34;幻数&#34;建议改进以不访问添加的视图标签 - 欢迎!

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
}

}