我的tableview单元格是三个标签和一个uistepper但是如果第一个标签中的文本太长,它只会移动所有其他视图,使步进器离开屏幕。以下是我的约束:
[self.contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-15-[name(>=price@750)]-[price(==60)]-[quantity(==20)]-[stepper]-15-|"
options:0
metrics:nil
views:views]];
[self.contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-[name]-|"
options:0
metrics:nil
views:views]];
[self.contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-[price]-|"
options:0
metrics:nil
views:views]];
[self.contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-[quantity]-|"
options:0
metrics:nil
views:views]];
[self.contentView addConstraint:[NSLayoutConstraint constraintWithItem:self.stepper
attribute:NSLayoutAttributeCenterY
relatedBy:0
toItem:self.quantity
attribute:NSLayoutAttributeCenterY
multiplier:1.0f
constant:0.0f]];
我的标签创建是:
UILabel* label = [UILabel new];
label.translatesAutoresizingMaskIntoConstraints = NO;
label.adjustsFontSizeToFitWidth = YES;
[label setMinimumScaleFactor:0.5f];
[self.contentView addSubview:label];
return label;
如果我有以下文本,则fontSize默认为17.然后步进器被推离屏幕而不是字体收缩。
cell.name.text = @"this is my label";
cell.price.text = @"puddle";
cell.quantity.text = @"ha";
id发布图片,但我没有足够的声望点。但基本上它就像内容视图大于实际屏幕宽度,并将步进器推离屏幕。
答案 0 :(得分:0)
您需要为标签添加抗压优先级。如:
[self.name setContentCompressionResistancePriority:UILayoutPriorityDefaultLow forAxis:UILayoutConstraintAxisHorizontal];