我创建了一个自定义的UIView类,我创建了2个UILabel和1个UIImageView . 我为每个元素设置了约束 . 由于标签将保存动态文本,因此每个视图将具有不同的高度 . 如何调整视图的高度?约束(从上到下)是:
View Top > 16 > Label1 > 8 > ImageView > 8 > Label2 > 16 > View Bottom
问题是:我必须使用框架初始化UIView . 无论我尝试什么,视图总是使用初始化给出的帧的高度 . 我无法计算所有元素的高度并设置一个新的框架,因为标签有时是1行,有时是5行 .
This is how the view looks at runtime This is how its supposed to look like
提前致谢
1 回答
您必须使用框架初始化视图,但在初始化后将
translatesAutoresizingMaskIntoConstraints
设置为false
时,传入的框架将变得无关紧要 . 因此,你可以在评论中推荐@BallpointBen并传入.zero
: