【问题标题】:scrolling a UIScrollView on the click of a button单击按钮滚动 UIScrollView
【发布时间】:2011-09-17 07:48:06
【问题描述】:

我想知道是否可以通过单击 UIButton 来滚动 UIScrollView,如果可以,有人可以告诉我如何操作。

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

- (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;
    }
}

如果有人能帮我解决这个问题,那就太好了。

【问题讨论】:

    标签: ios ipad uiscrollview uibutton


    【解决方案1】:

    我认为这很容易。使用:

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

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

    【讨论】:

    • 感谢您的回答.. 但是当我实现代码时会发生内容视图不在视野范围内...您认为哪里出了问题?
    • 你必须确保你没有超过内容的宽度。确保使用正确的 X 值。
    【解决方案2】:

    对于 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)
    }
    

    【讨论】:

      猜你喜欢
      • 2014-03-28
      • 1970-01-01
      • 2018-09-07
      • 1970-01-01
      • 1970-01-01
      • 2021-01-01
      • 2014-05-14
      • 1970-01-01
      相关资源
      最近更新 更多