【问题标题】:UIView always on bottom of screen regardless of frame's x and y - Swift无论框架的 x 和 y 如何,UIView 始终位于屏幕底部 - Swift
【发布时间】:2017-11-08 05:17:32
【问题描述】:

在模拟器中的 iPhone X 上,我的容器视图显示在标签栏下方(它位于屏幕底部)。

我想移动容器视图,使其位于选项卡栏的顶部,但无论我作为容器视图框架的 x 和 y 放入什么,它都不会改变。我只能改变高度。

谢谢。

代码:

//for custom interactive keyboard
override var inputAccessoryView: UIView? {
    get {
        return inputContainerView
    }
}    

lazy var inputContainerView: UIView = {

    let containerView = UIView()
    containerView.frame = CGRect(x: 50, y: 50, width: self.view.frame.width, height: 50)
    containerView.backgroundColor = UIColor.red

    return containerView
}()

【问题讨论】:

  • 你能告诉我完整的代码吗?
  • 要发布的代码太多了。这是唯一相关的代码
  • 我找到了解决方法。我实际上需要 containerView 来覆盖标签栏,所以我只是在 iPhone 10 上将其放大,并更改了视图内事物的一些约束。

标签: ios swift uiview view iphone-x


【解决方案1】:

请说明您使用的是哪个版本的模拟器。 xcode 9.1 中 iPHONE X 的情节提要渲染有了显着改进。

在 iPHONE X 中确保完美 UI 的一些要点:

  1. 启用安全区域布局指南。

  2. 删除标签栏的高度限制,如果有的话。

  3. 删除所有约束,参考 superview 并将它们替换为“安全区域”。

  4. 清理并运行。

“iPHONE-X 模拟器渲染的 tabbar 添加到 viewcontroller 中仍然存在一些错误,但是 tabbarcontroller 工作正常。在我的情况下,更改 viewcontroller 模拟矩阵部分中底栏的值已经解决了问题。”

【讨论】:

  • 在哪里启用安全区域布局指南?其他建议均不适用
  • 我找到了解决方法。我实际上需要 containerView 来覆盖标签栏,所以我只是在 iPhone 10 上将其放大,并更改了视图内事物的一些约束。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多