我有一個內部UILabel的UIVIew,我希望UILabel和UIView包裝文本內容大小。 因此,我計算文字大小,並將UIView的框架和UIlabel的框架設置爲新的高度。 UIView完美調整大小,但UILabel不會調整大小。總是保持相同的尺寸。不知道爲什麼UILabel調整大小將無法正常工作
這裏是我的代碼:
[mylabel setNumberOfLines:0];
CGSize maximumLabelSize = CGSizeMake(mylabel.frame.size.width, 160);
CGSize expectedLabelSize = [text sizeWithFont:mylabel.font
constrainedToSize:maximumLabelSize
lineBreakMode:mylabel.lineBreakMode];
CGRect newFrame = mylabel.frame;
newFrame.size.height = expectedLabelSize.height;
mylabel.frame = newFrame;
mylabel.text = text;
myView.frame = CGRectMake(myView.frame.origin.x,
myView.frame.origin.y,
myView.frame.size.width,
newFrame.size.height);
PD:我改變了幀viewDidLayoutSubviews,我應該去做別的地方?
更新: 我在使用Autolayout時遇到了一些限制。我需要Autolayout,因爲我有一個導航欄和基於標籤欄的應用程序。
該代碼看起來應該很好。你是否在代碼中的其他任何地方調整標籤框架,以覆蓋你在這裏做的事情? – Putz1103
不是:S,我正在使用自動佈局,可能是導致問題。 – 6rod9
我從來沒有使用autolayout,所以我沒有幫助。 – Putz1103