【发布时间】:2016-02-08 17:48:03
【问题描述】:
在我的 UIViewController 中,我有一个启用滚动的不可编辑属性 UITextView,我想调整滚动文本的高度以适应所有屏幕尺寸宽度,而无需额外的空白空间。我正在使用 AutoLayout 并为 textview 及其高度约束设置插座。在视图控制器的 viewDidLoad 方法中我使用 sizeThatFits 方法来更新 textview 的高度,但是结果尺寸太小了。
- (void)viewDidLoad{
[super viewDidLoad];
NSLog(@"INIT HEIGHT: %f, myTextView.frame.size.height);
CGSize sizeToFit =
[myTextView sizeThatFits: CGSizeMake(myTextView.frame.size.width, MAXFLOAT)];
myTextViewHeightConstraint.constant = sizeToFit.height;
[myTextView updateConstraints];
[myTextView layoutIfNeeded];
NSLog(@"NEW HEIGHT: %f", myTextView.frame.size.height);
}
日志表明高度确实从我的默认值 4000 更改为 2502,但是对于 2502,我只能通过滚动看到大约一半的文本。正如一种解决方案所建议的那样,我避免将文本视图嵌套在滚动视图中,因为在文档中不鼓励这样做。我错过了什么?提前致谢。
【问题讨论】:
标签: objective-c scroll resize autolayout uitextview