两个标签彼此相邻,截断一个

Ang*_*o A 1 objective-c ios

我有两个彼此相邻的标签,但是即使我在左边的标签上设置了截断规则,右边的标签也会被截断。

我的代码:

// 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];
Run Code Online (Sandbox Code Playgroud)

我应该怎么做?

j.f*_*.f. 5

这是内容压缩优先级发挥作用的地方。根据要首先压缩的值将这些值设置为较高和较低。要在压缩方面优先考虑的标签较高。降低要首先压缩(截断)的标签。

您可以通过编程方式执行此操作(默认值为750):

[labelFirst setContentCompressionResistancePriority:749
                                            forAxis:UILayoutConstraintAxisHorizontal];
Run Code Online (Sandbox Code Playgroud)

或在“大小检查器”选项卡下的界面构建器中:

在此处输入图片说明

这是另一个答案,将详细介绍它们如何工作。