Pad*_*215 5 objective-c ios autolayout nslayoutconstraint
UIView是否创造了intrinsicContentSize?
我创建了一个UIView contentView.我不给它约束大小:
UIView *contentView = [UIView new];
[contentView setTranslatesAutoresizingMaskIntoConstraints:NO];
contentView.backgroundColor = [UIColor orangeColor];
Run Code Online (Sandbox Code Playgroud)
我创建了另一个UIView subview01.我给它约束大小并将其添加到我的contentView:
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
[imageView setTranslatesAutoresizingMaskIntoConstraints:NO];
imageView.userInteractionEnabled = TRUE;
imageView.backgroundColor = [UIColor clearColor];
[imageView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:[imageView(WIDTH)]"
options:0
metrics:@{@"WIDTH" : [NSNumber numberWithFloat:imageSize.width]}
views:NSDictionaryOfVariableBindings(imageView)]];
[imageView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:[imageView(HEIGHT)]"
options:0
metrics:@{@"HEIGHT" : [NSNumber numberWithFloat:imageSize.height]}
views:NSDictionaryOfVariableBindings(imageView)]];
[contentView addSubview:imageView];
Run Code Online (Sandbox Code Playgroud)
contentView确实没有任何大小.我想intrinsicContentSize是假设要计算显示所有子视图所需的大小并自行调整大小?就像UILabel如何调整大小以显示其所有文本一样?
不,UIView没有intrinsicContentSize.按钮和标签可以,因为系统很容易根据字符串和/或图像来计算大小.对于UIView,通常需要4个约束来完全描述其位置和大小.
| 归档时间: |
|
| 查看次数: |
5530 次 |
| 最近记录: |