簡體   English   中英

兩個標簽彼此相鄰,截斷一個

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM