Как я могу программно прокрутить UIScrollView от начала до конца медленно - PullRequest
4 голосов
/ 28 июля 2011

У меня горизонтальный обзор UIScroll, который показывает около 10 изображений. Я знаю, что мы должны использовать метод scrollRectToVisible для программного перемещения прокрутки. Но то, что я ищу, - это медленно прокручивать представление прокрутки (5 пикселей за 1 секунду) от начала до конца представления прокрутки.

Я видел несколько страниц, но я не понимал, как интегрировать следующий код в мой код:

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDelegate:self];
[UIView setAnimationDuration:(abs(rMid-pMid)*0.3)];
scrollMid.contentOffset = CGPointMake(rMid*320, 0);
[UIView commitAnimations];

1 Ответ

5 голосов
/ 28 июля 2011

вы можете использовать NSTimer как

- (void) viewDidLoad
{       
    if (scrollingTimer == nil)
    {
        scrollingTimer = [NSTimer scheduledTimerWithTimeInterval:(0.06)
                         target:self selector:@selector(autoscrollTimerFired) userInfo:nil repeats:YES];        
    }
}

- (void) autoscrollTimerFired
{
    if (scrollPoint.y == 583) // at where you want to stop scroll
    {
        [scrollingTimer invalidate];
        scrollingTimer = nil;
    }
    scrollPoint = CGPointMake(scrollPoint.x, scrollPoint.y + 1);
    [self.scrollView setContentOffset:scrollPoint animated:NO];
}

надеюсь, это поможет вам ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...