您是否应该为Stackview的子视图添加约束?

时间:2017-09-07 20:11:30

标签: ios autolayout uistackview

...因为我的图像视图水平居中于其父级,并且它显示为右对齐。

2 个答案:

答案 0 :(得分:4)

是的,您可以向堆栈视图的已排列子视图添加约束。来自UIStackView class reference

  

您可以提供其他约束来指定堆栈视图的高度,宽度或两者。

后来:

  

您还可以通过向排列的视图添加其他约束来微调排列视图的外观。例如,您可以使用约束来设置视图的最小或最大高度或宽度。或者,您可以为视图定义宽高比。堆栈视图在布置其内容时使用这些约束。例如,在图像视图中有一个宽高比约束,可在调整图像大小时强制使用恒定的宽高比。

     
    

注意

         

在向堆栈视图中的视图添加约束时,请注意避免引入冲突。作为一般经验法则,如果视图的大小默认为给定维度的内在内容大小,则可以安全地为该维度添加约束。

  

您通常不应尝试使用约束来更改堆栈视图中已排列的子视图的位置,因为这几乎肯定会导致冲突。

如果您希望这些约束影响整个堆栈视图的位置,并且您注意不要引起冲突,则可以约束排列的子视图相对于堆栈视图外部的其他视图的位置。这将是对约束的相当复杂的使用。

答案 1 :(得分:-1)

你可以在" tiles"中做任何你想做的事情。 (视图)您放入堆栈视图,但您不应添加更改切片自身大小或位置的约束。堆栈视图为您管理磁贴。