我正在以编程方式使用iOS 7中的自动布局。我有一个动态视图组件,它充当多个子视图的容器。不知道容器应该容纳多少个子视图,只知道视图的宽度与它的子视图的宽度相等,高度是动态的,这取决于有多少个子视图。
=容器视图的边界
=======
= SV1 =
= SV2 =
= SVn =
= ... =
=======因为我是以编程的方式完成所有的自动布局,所以我需要一种方法来告诉容器视图它应该是CGSize x big。如何在自动布局和不自动调整大小的情况下执行此操作?
发布于 2014-05-27 23:03:28
只要您的所有子视图在-intrinsicContentSize中指定了有效的垂直大小,您就可以让它工作(例如,苹果的控件在默认情况下会这样做)。然后,将子视图的顶部和底部彼此固定,将SV1的顶部固定到容器的顶部,将SVn的底部固定到容器的底部。那么容器将始终是它所包含的视图的高度。
发布于 2014-05-27 20:58:45
毕竟,我在NSLayoutConstraint的-constraintWithItem中设置了乘数:...添加到我期望在视图中显示的项数。我不得不设置一些其他的约束,但至少它像我想象的那样工作。我仍然希望为我的问题找到一个不太容易编写代码的解决方案(类似于只设置自动调整掩码,一行代码)。
https://stackoverflow.com/questions/23888776
复制相似问题