【问题标题】:How can I set background colour for top section in iPhoneX如何在 iPhone X 中设置顶部的背景颜色
【发布时间】:2017-10-06 09:34:09
【问题描述】:

我刚刚意识到我的应用程序不适用于 iphoneX 的设计。我有一个 UIVIew(包含文本字段和按钮),它看起来像导航栏,所以它确实支持 iPhone 8 和 8 plus。但是,iPhoneX 的顶部为空白白色。反之亦然,如果我将 Uiview 设置为导航栏,那么 iphone8 和 8plus 的文本字段和顶部布局之间的差距会更大。我可以知道如何设置适合所有版本的约束或其他方式添加到顶部,并且在横向模式下它也会改变。非常感谢!

screenshot

【问题讨论】:

  • 在整个应用程序中,您使用了导航栏。所以,它显示完美。
  • 界面生成器还是代码?
  • 我希望有一个长文本字段,顶部有一个按钮,就像导航栏一样......但如果我使用导航栏,那么大小根本不适合......
  • @Lu_ 通过使用情节提要...我意识到错误“iOS 9 之前的安全区域布局指南”仅适用于 iOS 9 及更高版本。太糟糕了,我的应用程序来自 8.0 以上,以防我需要升级部署目标?还是只是取消选中安全区域布局?
  • 就像在 ansver 中一样,安全区域应该可以工作,否则当您检测到 iphone X 时,您必须调整约束和高度

标签: ios swift xcode9 iphone-x


【解决方案1】:

如果您使用的是 Interface Builder,您可能需要更新您的约束及其设置。

if #available(iOS 11.0, *) {
     if UIApplication.shared.keyWindow!.safeAreaInsets.top > CGFloat(0.0) {
         topConstraint.constant += 24
     }
 }

【讨论】:

  • for the topConstraint is my UIView's top constraint when detection is iPhoneX?
  • 它将成为您的文本字段的约束。如果与安全区域无关,则其余部分应位于顶部。并且总高度应该增加
  • 嗨,请检查我在帖子中附加的屏幕截图,所以你的意思是我必须为 UIview 的顶部、文本字段的顶部和按钮的顶部设置顶部约束?再增加 24 像素?
  • 是的,我相信这对你有用,安全空间边距对我不起作用,但这确实
  • 嗨,我今天试过了,如果我检查了安全区域布局指南,它就不起作用。我可以更改状态栏的颜色吗?
猜你喜欢
  • 1970-01-01
  • 2011-04-01
  • 2021-12-10
  • 2010-09-27
  • 2012-08-20
  • 2019-11-10
  • 1970-01-01
  • 2010-12-11
  • 2011-06-13
相关资源
最近更新 更多