UIScrollView上的setContentOffset是正确的方法

Ser*_*yov 3 iphone cocoa-touch objective-c uiscrollview ios

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

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

我基本上是我的新元素的高度增加了yUIScrollViewcontentOffset,但有时它滚动了滚动型contentSize,低,有可能滚动.之所以会发生这种情况,是因为我contentSize在调用上面的方法之前修改了它,并且Scroll View的高度会缩小.

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

Ser*_*yov 6

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

CGPoint bottomOffset = CGPointMake(0, [mainScrollView contentSize].height - mainScrollView.frame.size.height);
[mainScrollView setContentOffset:bottomOffset animated:YES];
Run Code Online (Sandbox Code Playgroud)