ios - 当设备旋转改变时创建附加约束

标签 ios swift autolayout

我有一个 subview ,它的约束通过 IBOutlet 引用了 super View ,我正在通过停用它来更改约束,然后赋予新值并再次激活,这工作正常并且没有警告但是当设备旋转和似乎添加了另一个约束(我在 Storyboard 中添加的约束) 代码:

bottomViewBottomConstraint.isActive = false
if self.isHide {
    bottomViewBottomConstraint = bottomView.bottomAnchor.constraint(equalTo: playerView.bottomAnchor,constant:0)
}
else {
    bottomViewBottomConstraint = bottomView.bottomAnchor.constraint(equalTo: playerView.bottomAnchor,constant:bottomView.frame.height + 50)
}
bottomViewBottomConstraint.isActive = true

旋转后警告:

"<NSLayoutConstraint:0x600003fdce60 UIView:0x7fc034f050b0.bottom == PlayKit.PlayerView:0x7fc034f69870.bottom + 143.333   (active)>",
"<NSLayoutConstraint:0x600003fe3480 'bottomViewId' V:[UIView:0x7fc034f050b0]-(0)-|   (active, names: 
'|':PlayKit.PlayerView:0x7fc034f69870 )>"

底 View Storyboard约束 enter image description here

最佳答案

你在viewDidLoad 中需要它

var bottomViewBottomConstraint:NSLayoutConstraint!

bottomViewBottomConstraint = bottomView.bottomAnchor.constraint(equalTo: playerView.bottomAnchor,constant:0)

和常量一起玩

bottomViewBottomConstraint.constant = self.isHide ? 0 :   bottomView.frame.height + 50
self.view.layoutIfNeeded()

关于ios - 当设备旋转改变时创建附加约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52950181/

相关文章:

objective-c - 桥接头不存在

ios - 尽管匹配宽度/高度限制,但启动屏幕 Storyboard 中的图像不可见

iphone - 如何像 iPhone 上的标准相机应用程序一样处理方向的变化

ios - 检查UITextField是否具有大于0的数值

iOS Swift - 动画绘制圆弧填充,而不是边框​​描边

objective-c - iOS 7 自动布局 - 忽略通话状态栏

ios - 使用视觉格式化语言计算不需要的按钮高度

iphone - Object c property dealloc,哪个是正确的?

Swift 解析框架和闭包

swift - 如何设置UIScrollView滚动到底部?