5

我正在使用此代码向下滚动UIScrollView,因为我正在UIView从底部添加一个新代码,并且我想向下滚动到它。我这样做:

CGPoint newOffset = CGPointMake(mainScrollView.contentOffset.x, mainScrollView.contentOffset.y + floorf(bottomAttachmentView.frame.size.height / bottomAttachmentView.multFactor));
[mainScrollView setContentOffset:newOffset animated:YES];

我基本上将我的新元素的高度添加到yof 中UIScrollViewcontentOffset但有时它会滚动出 scrollView contentSize,更低,可以滚动。发生这种情况是因为我contentSize在调用上面的方法之前修改了 Scroll View 的高度缩小了。

你怎么称呼它,setContentOffset所以它不会让我的 scrollView 滚动出它自己的contentSize?谢谢!

4

2 回答 2

7

实际上,我所要做UIScrollView的就是像这样滚动到底部:

CGPoint bottomOffset = CGPointMake(0, [mainScrollView contentSize].height - mainScrollView.frame.size.height);
[mainScrollView setContentOffset:bottomOffset animated:YES];
于 2013-03-01T14:33:20.030 回答
1

您还可以使用它滚动到 scrollView 的底部(Swift 4)

let targetRect = CGRect(x: 0, y: mainScrollView.contentSize.height, width: 1, height: 1)
scrollView.scrollRectToVisible(targetRect, animated: true)
于 2018-05-30T12:37:21.840 回答