如何滚动到UIScrollView中的某个点

时间:2013-10-12 18:53:01

标签: ios objective-c uiscrollview

下面我有一行代码滚动到UIScrollView中的某个点。但是一旦滚动它就不允许我向上滚动。

[scroller setContentOffset:CGPointMake(0,500) animated:NO];

任何帮助将不胜感激,谢谢。

3 个答案:

答案 0 :(得分:2)

我用这个。该按钮调用此方法。应该运作良好。

- (void)downExecute:(id)sender {
    NSLog(@"scroll down");

    CGFloat currentOffset = _scrollView.contentOffset.y;

    CGFloat newOffset;    
    newOffset = currentOffset + self.view.bounds.size.height;

    [UIScrollView animateWithDuration:0.3 animations:^(void) {
        [_scrollView setContentOffset:CGPointMake(0.0, newOffset)];
    } completion:^(BOOL finished) {
    }];
}

答案 1 :(得分:2)

您是否尝试使用UIScrollView方法 scrollRectToVisible: 这是一个例子

- (void)goToPage:(int)page animated:(BOOL)animated
{
    CGRect frame;
    frame.origin.x = self.scroller.frame.size.width * page;
    frame.origin.y = 0;
    frame.size = self.scroller.frame.size;
    [self.scroller scrollRectToVisible:frame animated:animated];

    // update the scroll view to the appropriate page
}

答案 2 :(得分:0)

我遇到过这种问题,因为我从viewDidLayoutSubviews()调用了这个方法。检查你在哪里打电话。当我将逻辑移动到viewDidAppear()时,一切都按预期工作。希望它有所帮助,欢呼。