我有两个彼此相邻的标签,但即使我在左侧标签上设置截断规则,右侧标签也会截断。
我的代码:
// Club name
labelFirst = [[UILabel alloc] init];
labelFirst.adjustsFontSizeToFitWidth = NO;
[labelFirst setLineBreakMode:NSLineBreakByTruncatingTail];
[labelFirst setTranslatesAutoresizingMaskIntoConstraints:NO];
[self.contentView addSubview:labelFirst];
labelSecond = [[UILabel alloc] init];
[labelSecond setAdjustsFontSizeToFitWidth:NO];
[labelSecond setTranslatesAutoresizingMaskIntoConstraints:NO];
[labelSecond setText:NSLocalizedString(@"IsCancelled", nil)];
[self.contentView addSubview:labelSecond];
NSLayoutConstraint *constraint = [NSLayoutConstraint constraintsWithVisualFormat:@"H:|-73-[label]-[label2]-10-|" options:0 metrics:nil views:@{@"label": labelFirst, @"label2": labelSecond}]
[self.contentView addConstraints:constraint];
我应该怎么做?
最佳答案
这就是内容压缩阻力优先级发挥作用的地方。根据您要首先压缩的值,将这些值设置得更高或更低。对于您希望优先抵抗 压缩的标签,该值越高。降低您要首先压缩(截断)的标签。
您可以通过编程方式进行(默认值为 750):
[labelFirst setContentCompressionResistancePriority:749
forAxis:UILayoutConstraintAxisHorizontal];
或者在尺寸检查器选项卡下的界面构建器中:
Here is another answer详细了解它们的工作原理。
关于ios - 两个标签相邻,截断一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34269402/