我很难让UIScrollView正常工作。
我有一个带有UIImageView和UITextView的UIScrollView作为它的子视图。
UIScrollView,UIImageView和UITextView连接到我的控制器。
当我在viewDidLoad中使用这行代码时:
self.scrollView.contentSize = CGSizeMake(320, 1000);
滚动工作。但是,向下滚动时,如果UITextView包含大量文本,则文本的底部会被剪切掉。
我认为我必须调整UITextView的框架。当我在viewDidLoad中添加这三行时:
CGRect frame = self.bioText.frame;
frame.size = self.bioText.contentSize;
self.bioText.frame = frame;
文字被切断了。
几个问题:
答案 0 :(得分:1)
您无需调整textView的contentSize,它会根据文本自动调整
如果您希望UIScrollView的contentSize根据其子视图进行调整,并且所有子视图都是垂直的,则可以使用此
CGFloat height = 0
for(UIView* sub in myScrollView.subviews)
height += sub.frame.size.height
myScrollView.contentSize = CGSizeMake(self.contentSize.width, height)
答案 1 :(得分:0)
今天我刚刚解决了这个问题。你可以设置textView' viewDidLayoutSubviews中的框架。 这是我的应用程序中的代码:
- (void)viewDidLayoutSubviews {
CGRect rect = self.textView.frame;
rect.size.height = self.textView.contentSize.height;
self.textView.frame = rect;
}
希望这可以帮到你。