我正在尝试创建一个自定义容器视图,其中包含UIImageView和多行UILabel作为子视图。为了使该视图与自动布局良好地配合使用,我正在重写intrinsicContentSize,代码如下:
- (CGSize)intrinsicContentSize
{
return [self sizeThatFits:self.bounds.size];
}
在 sizeThatFits 中计算出的大小具有相同的宽度,并调整高度,以使标签和图像不被裁剪。这样做效果很好,但我惊讶地看到在文档中有以下评论:
这个内在大小必须独立于内容框架,因为无法动态地向布局系统通信基于改变的高度而改变的宽度,例如。
如果是这样,那么自动布局如何根据其宽度和内容调整视图的当前高度?我是否应该以不同的方式来处理这个问题?