прокрутка UIScrollView одним нажатием кнопки - PullRequest
3 голосов
/ 17 июня 2011

Я хотел бы знать, возможно ли для меня прокрутить UIScrollView по щелчку UIButton, и если да, кто-нибудь сможет сказать мне, как это сделать.

В настоящее время я использую приведенный ниже код, чтобы увидеть, есть ли в левом прокрутке больше контента слева, и если он там есть, отобразить изображение, которое сообщит пользователям, что есть больше контента, если они прокрутят влево. Я хотел бы реализовать функциональность, в которой я добавляю 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;
    }
}

Было бы здорово, если бы кто-то помог мне в этом.

Ответы [ 2 ]

9 голосов
/ 17 июня 2011

Это довольно легко, я думаю. Использование:

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

Где X - значение scrollView1.contentOffset.x + scrollView1.contentSize.width.

0 голосов
/ 29 января 2019

для 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)
}
...