Pär*_*erk 6 uikit ios autolayout
通过在layoutSubviews中计算和设置框架,查看A的子视图.
视图B使用约束来布局它的子视图.
视图A包含许多View B实例.
视图A在布局它们时需要知道其子视图的大小,因此它会调用sizeThatFits:它们.
视图B的高度取决于它的宽度.在我的例子中,它UILabel内部有一条多线.
B应该如何实现它,sizeThatFits:以便在size传递给参数sizeThatFits:和约束的情况下返回正确的大小?
到目前为止我尝试/考虑的内容:
systemLayoutSizeFittingSize: - 不起作用,因为它没有考虑传递给它的确切大小.它不能用于指定精确的宽度,例如,当水平收缩时垂直生长的视图.它只提供最大压缩尺寸或最大尺寸.
intrinsicContentSize- 据我所知,这用于将信息传递给自动布局.我们想要的是从 Auto Layout 获取信息.
到目前为止,这就是我的理由.如果我犯了错误,请纠正我.请帮助我,如果有人能指出我是如何完成的,我将非常感激!
编辑:此外,也许有一些完全不同的方式来做到这一点,甚至没有使用sizeThatFits:?我唯一的要求是我可以在"外部"视图(视图A)中继续使用框架布局,在"内部视图"(视图B)中继续使用自动布局.
edit2:添加了一张图片来说明我必须解决的确切情况
edit3:忘了提,我需要支持iOS 7.0
从图中可以看出,UIStackView 对于视图 A 来说可能是更好的方法?
https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIStackView_Class_Reference/
然后用边距将视图 A UIStackView 的底部偏移到最后一个视图 B 的底部进行约束
| 归档时间: |
|
| 查看次数: |
701 次 |
| 最近记录: |