我有一个声明为IBOutlet的UILabel。调用sizeToFit
后,由于UILabel的大小没有更改,我仍然看不到整个文本。然后,我使用_myLabel.frame
进行了检查,发现高度实际上有所增加,但是没有反映在视图中。我试图通过以编程方式插入UILabel来做同样的事情,而sizeToFit
似乎运行良好。
[_myLabel setText:@"very very very long text"];
[_myLabel setNumberOfLines:0];
NSLog(@"%@", NSStringFromCGRect(_myLabel.frame)); //before sizeToFit
[_myLabel sizeToFit];
NSLog(@"%@", NSStringFromCGRect(_myLabel.frame)); //after sizeToFit
我怀疑这与自动布局有关。
最佳答案
这是约束的问题。谢谢!
我通过清除约束对其进行了修复,并添加了以下内容:
_myLabel.preferredMaxLayoutWidth = [_myLabel alignmentRectForFrame:_myLabel.frame].size.width;
强制标签重新调整其高度。
关于ios - 调用sizeToFit后,UILabel在 View 中未调整大小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17260629/