[英]Two labels next to each other, truncate one
我有兩個彼此相鄰的標簽,但是即使我在左邊的標簽上設置了截斷規則,右邊的標簽也會被截斷。
我的代碼:
// 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];
或在“大小檢查器”選項卡下的界面構建器中:
這是另一個答案,將詳細介紹它們如何工作。
NSLineBreakByTruncatingTail-它是標簽的默認LineBreakMode值,將其更改為labelSecond以具有區別
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.