我正在使用此代码滚动我的UIScrollView
,因为我从底部添加了一个新的UIView
,我想向下滚动到它。我是这样做的:
CGPoint newOffset = CGPointMake(mainScrollView.contentOffset.x, mainScrollView.contentOffset.y + floorf(bottomAttachmentView.frame.size.height / bottomAttachmentView.multFactor));
[mainScrollView setContentOffset:newOffset animated:YES];
我基本上将我的新元素的高度添加到y
的{{1}}的{{1}},但有时它会滚动出scrollView UIScrollView
,更低,这是可能的滚动。这是因为我在调用上面的方法之前修改了contentOffset
并且Scroll View的高度缩小了。
你如何调用contentSize
所以它不会让我的scrollView滚出它自己的contentSize
?谢谢!
答案 0 :(得分:5)
实际上我只需将UIScrollView
滚动到底部就像这样:
CGPoint bottomOffset = CGPointMake(0, [mainScrollView contentSize].height - mainScrollView.frame.size.height);
[mainScrollView setContentOffset:bottomOffset animated:YES];
答案 1 :(得分:1)
您也可以使用它滚动到scrollView(Swift 4)的底部
let targetRect = CGRect(x: 0, y: mainScrollView.contentSize.height, width: 1, height: 1)
scrollView.scrollRectToVisible(targetRect, animated: true)