【发布时间】:2013-03-05 04:40:13
【问题描述】:
在我的应用程序的详细视图(滚动视图)上,我有一个 UILabel,它可以获取大约 1000 个单词的文本。
我想调整它的大小以适应标签 - 到目前为止工作正常
-(void) viewDidAppear:(BOOL)animated {
NSString *message = storycontent.text;
CGSize maximumLabelSize = CGSizeMake(280,5000);
CGSize expectedLabelSize = [message sizeWithFont:storycontent.font constrainedToSize:maximumLabelSize lineBreakMode:NSLineBreakByWordWrapping];
CGRect newFrame = storycontent.frame;
newFrame.size.height = expectedLabelSize.height;
storycontent.frame = newFrame;
}
当导航到该详细视图时,标签按预期调整大小。 现在奇怪的是:当我想向下滚动时,UILabel 会恢复到初始大小,因此只有第一个单词是可见的。
我能做些什么来避免这种行为?
更新: 当我删除标签并放入新标签时,它工作正常。当我将字体大小更改为 17 以外的值时,奇怪的行为就开始了。
【问题讨论】:
-
取一个Label取一个textView
-
我通过 textview 得到相同的行为。当我开始滚动时,它的大小调整为对象的初始高度:(
-
您能否记录下您的 newFrame 和 storyContent 框架
-
你在使用自动布局吗?
-
转到界面生成器中的文件检查器,并取消选中“使用自动布局”。