我正在使用自动布局来开发一个包含UILabel的容器UIView。我想使容器视图的高度根据UILabel的高度动态变化。
我正在容器视图中添加这些约束条件,但是我不知道如何获取UILabel的高度,因为它是多行UILabel。
- (void) updateConstraints{
[self removeConstraints:self.constraints];
NSDictionary *views = NSDictionaryOfVariableBindings(_informationLabel);
// -- Constraints
[self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-5-[_informationLabel]-5-|"
options:0
metrics:@{}
views:views]];
[self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-5-[_informationLabel]-5-|"
options:0
metrics:@{}
views:views]];
[super updateConstraints];}
我尝试使用boundingRectWithSize
计算高度,并将高度发送到度量字典中。
在ViewController中,我没有指定容器视图的高度,以便它根据子视图的高度进行调整:
[constraints addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-100-[_informationView]"
options:0
metrics:@{}
views:views]];
[constraints addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-[_informationView]-|"
options:0
metrics:@{}
views:views]];
我应该如何让容器视图的高度随uilabel高度的增长而增长?
translatesAutoresizingMaskIntoConstraints
为NO
? - Axadiw