我有一个UIStackView,它是使用自动布局的位置。当屏幕旋转时,我禁用并激活各种约束将堆栈视图移动到我想要的位置。UIStackView旋转/约束bug
我已经检查过使用Reveal来确保堆栈视图正确定位。
在堆栈视图中,我有许多视图,并且堆栈视图的对齐方式设置为填充以确保它们展开以填充堆栈视图的宽度。这工作正常,除...
当我旋转设备,然后回到原来的方向。然后堆栈视图被正确定位,但其中的视图不是。他们没有填满堆叠视图,而是在侧面留下空隙。通常在20到50点之间。但是在同一台设备上总是一样的数量。
这让我感到莫名其妙。我发现获取堆栈以期旋转回正确填写唯一的解决办法是这样的:
override func viewDidLayoutSubviews() {
sliders.alignment = UIStackViewAlignment.Bottom
sliders.alignment = UIStackViewAlignment.Fill
}
这似乎踢堆栈视图,并使其正常回流的意见。但它感觉很俗气。
有没有人遇到过这个bug并找到了更好的解决方案?
我已经试过围绕setNeedsLayout(),setNeedsDisplay()等各种各样的这样的,但等等,但只有上述代码已经解决了这个问题。