UIView 始终位于屏幕底部,无论帧的 x 和 y 如何 - Swift



在模拟器中的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
}()

请注明您正在使用的模拟器版本。在 xcode 9.1 中,iPHONE X 的故事板渲染有了显著改进。

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

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

  2. 删除选项卡栏的高度限制(如果有)。

  3. 删除所有约束,参考超级视图并将其替换为"安全区域"。

  4. 清洁并运行。

"添加到视图控制器的选项卡栏的iPHONE-X模拟器渲染中仍然存在一些错误,但是选项卡栏控制器工作正常。就我而言,更改视图控制器模拟矩阵部分中底部栏的值解决了问题。

最新更新