ios - 两个标签相邻,截断一个

标签 ios objective-c

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

我的代码:

// 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];

或者在尺寸检查器选项卡下的界面构建器中:

enter image description here

Here is another answer详细了解它们的工作原理。

关于ios - 两个标签相邻,截断一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34269402/

相关文章:

iphone - 如何从 iPhone 的图库中删除选定的照片?

ios - 水平 UICollectionView 顶部的奇数空格

ios - 如何访问自定义类属性作为引用 socket ?

objective-c - 使用 recordName 获取单个记录,它应该从 icloud 返回特定字段

ios - drawRect 不调整大小并跑出屏幕 3.5 英寸屏幕

objective-c - UISearchBar 搜索两个数组

ios - Flutter:在权限处理程序中在IOS上添加位置权限

ios - 禁用 UITableView float 部分标题点击?

ios - 如何根据 UIButton 的 y 位置获取未知的浮点值

iphone - 如何-performSelector :withObject:afterDelay: work?