我有一个 uitextview,我正在尝试根据其中的文本调整大小。我正在使用以下代码:
[self.view addSubview:storyText];
[storyText sizeToFit];
[storyText layoutIfNeeded];
[storyText setScrollEnabled:NO];
CGRect frame = storyText.frame;
frame.size.height = storyText.contentSize.height;
frame.size.width = 280;
storyText.frame = frame;
框架肯定在调整大小,但问题是,它不会根据有多少行来调整大小,而是总是调整到 30 的高度。使用 NSLog,我确定contentSize
无论那里有多少行,都将其设置为 30在文本视图中。我需要手动设置 contentSize,还是会根据内容占用的空间自行计算?如果是这样,为什么它总是在这里设置为 30?
更新:我按照建议尝试了以下方法,但没有成功。
[storyText setScrollEnabled:NO];
[storyText sizeToFit];
[storyText sizeThatFits:CGSizeMake(280,CGFLOAT_MAX)];
[storyText layoutIfNeeded];
CGRect storyFrame = storyText.frame;
storyFrame.size.height = storyText.contentSize.height;
storyFrame.size.width = 280;
storyText.frame = storyFrame;
还有其他建议吗?