单击按钮滚动UIScrollView

时间:2011-06-17 16:01:59

标签: ios ipad uiscrollview uibutton

我想知道是否有可能在点击UIButton时滚动UIScrollView,如果有的话,有人能告诉我如何操作。

目前我正在使用下面的代码来查看在滚动视图中是否有更多内容存在于其左侧,如果它在那里,则显示一个图像,如果它们向左滚动则告诉用户有更多内容。 我想实现一个功能,我添加一个UIButton而不是图像,当左边有更多的内容,当用户点击按钮时,scrollview将滚动到它的左边。

- (void)scrollViewDidScroll:(UIScrollView *)scrollView1 {
    if (scrollView1.contentOffset.x == scrollView1.contentSize.width - scrollView1.frame.size.width) 
    {        
        // reached the right
        self.imageView.hidden = YES;
    }

    else
    {
        self.imageView.hidden = NO;
    }
}

如果有人可以帮我解决这个问题会很棒。

2 个答案:

答案 0 :(得分:9)

我觉得这很容易。使用:

[scrollView1 setContentOffset:CGPointMake(x, 0) animated:YES];

其中X是scrollView1.contentOffset.x + scrollView1.contentSize.width的值。

答案 1 :(得分:0)

用于 Objective C 使用:

-(IBAction)adjustScroll:(UIButton *)sender{
        CGFloat xOffset = scrollView1.contentOffset.x;
        CGFloat yOffset = scrollView1.contentOffset.y;
        [scrollView1 setContentOffset:CGPointMake(xOffset + scrollView1.contentSize.width, yOffset) animated:YES];   
}

用于 swift 4.2 使用:

@IBAction func adjustScroll(sender:UIButton){
        let xOffset = scrollView1.contentOffset.x
        let yOffset = scrollView1.contentOffset.y
        let customOffset = CGPoint(x: xOffset + scrollView1.contentSize.width, y: yOffset)
        scrollView1.setContentOffset(customOffset, animated: true)
}