是否有必要使用autolayout来使用stackview

时间:2018-03-15 04:19:28

标签: ios swift ios-autolayout autoresize stackview

是否有必要强制使用autolayout来使用stackview 假设我已经完成了没有自动布局的整个项目, 现在对于特定的屏幕我必须使用Stackview来平均分配视图内的标签数量。 是否有任何解决方案..

问题

实际上我必须自定义一个没有自动布局的旧项目,现在我只需要修改一个不需要任何约束的屏幕,但只需要像每个单元格中8个标签的uitablecell一样的stackview。

  

我知道我们可以通过计算帧运行时间来实现,但是有   任何其他方式。

3 个答案:

答案 0 :(得分:2)

如果您将堆栈视图的translatesAutoresizingMaskIntoConstraints属性设置为true,那么您可以设置堆栈视图frameautoresizingMask来控制堆栈视图的大小和位置。自动布局会自动将您的设置变为约束。

堆叠视图的排列子视图必须translatesAutoresizingMaskIntoConstraints设置为true

答案 1 :(得分:1)

是的,有必要使用自动布局

定位堆栈视图本身

来自Apple Documentation

  

虽然堆栈视图允许您在不使用的情况下布局其内容   直接自动布局,您仍然需要使用自动布局来定位   堆栈视图本身

答案 2 :(得分:0)

堆栈视图使用“自动布局”来定位和调整其排列视图的大小。 虽然堆栈视图允许您直接布局其内容而不直接使用“自动布局”,但仍需要使用“自动布局”来定位堆栈视图本身。通常,这意味着钉住堆叠视图的至少两个相邻边缘以限定其位置。如果没有其他约束,系统将根据其内容计算堆栈视图的大小。

https://developer.apple.com/documentation/uikit/uistackview