我正在以编程方式在iOS 7中使用自动布局。我有一个动态视图组件,它充当多个子视图的容器。目前尚不知道容器应该容纳多少个子视图,只是视图的宽度与其子视图的宽度相等,高度是动态的,具体取决于将有多少个子视图。
= ContainerView的界限
=======
= SV1 =
= SV2 =
= SVn =
= ... =
=======
由于我以编程方式执行所有Autolayout,因此我需要一种方法来告诉容器视图它应该是CGSize x big。如何使用Autolayout进行此操作并且不进行自动调整?
答案 0 :(得分:1)
只要所有子视图在-intrinsicContentSize
中指定有效的垂直尺寸,您就可以使用此功能(例如,Apple的控件默认执行此操作。)然后,将子视图的顶部和底部固定到每个另外,SV1的顶部到容器的顶部,而SVn的底部到容器的底部。然后容器将始终是它包含的视图的高度。
答案 1 :(得分:0)
毕竟,我将NSLayoutConstraint的-constraintWithItem:...中的乘数设置为我在视图中预期的项目数。我不得不设置一些其他约束,但至少它的工作方式和我想象的一样。我仍然希望解决我的问题的代码更少的解决方案(相当于只设置autoresizingmask,一个单行)。