第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

UILabel sizeToFit不適用于autolayout ios6

UILabel sizeToFit不適用于autolayout ios6

素胚勾勒不出你 2019-07-23 16:05:10
UILabel sizeToFit不適用于autolayout ios6我應該如何以編程方式(以及在哪種方法中)配置UILabel,其高度取決于其文本?我一直在嘗試使用Storyboard和代碼的組合進行設(shè)置,但無濟于事。每個人都建議sizeToFit在設(shè)置lineBreakMode和numberOfLines。但是,不管我把代碼viewDidLoad:,viewDidAppear:或者viewDidLayoutSubviews我不能讓它開始工作。要么我的盒子太小而不能長文本也不會長,或者我把它做得太大而且不會縮小。
查看完整描述

3 回答

?
烙印99

TA貢獻1829條經(jīng)驗 獲得超13個贊

在大多數(shù)情況下,Matt的解決方案按預期工作。但如果它不適合你,請進一步閱讀。

要使標簽自動調(diào)整高度,您需要執(zhí)行以下操作:

  1. 設(shè)置標簽的布局約束

  2. 設(shè)置低優(yōu)先級的高度約束。它應該低于ContentCompressionResistancePriority

  3. 設(shè)置numberOfLines = 0

  4. 將ContentHuggingPriority設(shè)置為高于label的高度優(yōu)先級

  5. 為label選擇preferredMaxLayoutWidth。標簽使用該值來計算其高度

例如:

self.descriptionLabel = [[UILabel alloc] init];

self.descriptionLabel.numberOfLines = 0;

self.descriptionLabel.lineBreakMode = NSLineBreakByWordWrapping;

self.descriptionLabel.preferredMaxLayoutWidth = 200;


[self.descriptionLabel setContentHuggingPriority:UILayoutPriorityRequired forAxis:UILayoutConstraintAxisVertical];

[self.descriptionLabel setContentCompressionResistancePriority:UILayoutPriorityRequired forAxis:UILayoutConstraintAxisVertical];

[self.descriptionLabel setTranslatesAutoresizingMaskIntoConstraints:NO];

[self addSubview:self.descriptionLabel];


NSArray* constrs = [NSLayoutConstraint constraintsWithVisualFormat:@"|-8-[descriptionLabel_]-8-|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(descriptionLabel_)];

[self addConstraints:constrs];

[self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-8-[descriptionLabel_]" options:0 metrics:nil views:NSDictionaryOfVariableBindings(descriptionLabel_)]];

[self.descriptionLabel addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:[descriptionLabel_(220@300)]" options:0 metrics:nil views:NSDictionaryOfVariableBindings(descriptionLabel_)]];


使用Interface Builder

  1. 設(shè)置四個約束。高度約束是強制性的。 

  2. 然后轉(zhuǎn)到標簽的屬性檢查器并將行數(shù)設(shè)置為0。 

  3. 轉(zhuǎn)到標簽的大小檢查器并增加垂直ContentHuggingPriority和垂直ContentCompressionResistancePriority。

  4. 選擇并編輯高度約束。

  5. 并降低高度約束優(yōu)先級。

請享用。:)


查看完整回答
反對 回復 2019-07-23
?
慕田峪7331174

TA貢獻1828條經(jīng)驗 獲得超13個贊

在iOS 6中,使用自動布局,如果UILabel的邊(或?qū)挾龋┖晚敳勘还潭?,它?em>自動垂直增長和縮小以適合其內(nèi)容,完全沒有代碼,也沒有解除其抗壓性等問題。這很簡單。

在更復雜的情況下,只需設(shè)置標簽即可preferredMaxLayoutWidth。

無論哪種方式,正確的事情都會自動發(fā)生。


查看完整回答
反對 回復 2019-07-23
?
莫回無

TA貢獻1865條經(jīng)驗 獲得超7個贊

在IOS7中注意到sizeToFit也不起作用 - 也許解決方案也可能對你有所幫助

[textView sizeToFit];[textView layoutIfNeeded];


查看完整回答
反對 回復 2019-07-23
  • 3 回答
  • 0 關(guān)注
  • 905 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號