UIscrolview с автоматическим подкачкой страниц - PullRequest
0 голосов
/ 23 января 2012

У меня есть прокрутка с подкачкой страниц, это вид прокрутки для слайда с 4-мя изображениями, он отлично работает с взаимодействием с пользователем, поэтому мой вопрос, я хочу установить автоматический скролл-прокрутку без взаимодействия с пользователем, так что, как баннер для паба, это мой код в поле зрения Didload:

 [UIScrollView beginAnimations:nil context:nil];
    [UIScrollView setAnimationDuration:4.0];

[UIScrollView setAnimationDelay:4.0];
[scroller setContentOffset:CGPointMake(320, 98)];      
[UIScrollView commitAnimations ];

в этом случае автоматическая прокрутка работает, но проблема заключается в том, что прокрутка ждет 4 с и затем переходит ко второму изображению и останавливается, и если я добавлю этот код

[UIScrollView beginAnimations:nil context:nil];
[UIScrollView setAnimationDuration:4.0];
[UIScrollView setAnimationRepeatAutoreverses:YES];
[UIScrollView setAnimationRepeatCount:INFINITY];
[UIScrollView setAnimationDelay:4.0];




[scroller setContentOffset:CGPointMake(320, 98)];

[UIScrollView commitAnimations ];

скроллер не останавливается на 4 с после показа второго изображения, поэтому в этом случае он останавливается на первые 4 с после того, как начинается анимация, не останавливается никогда

поэтому мой вопрос, я хочу сделать это:

изображение 1 --- показывает fo 4 s ----- изображение2 ---- показывает для 4s ----- изображение3 ---- показывает для 4s ---- изображение 4 ---- показывает для 4 с ----- изображение 1 ---- показывается в течение 4 с ...... как этот автомат

так что если кто-то может помочь мне с примером кода или учебника или любой документации, это будет очень круто, потому что я ищу в Google и нахожу что-нибудь

Ответы [ 2 ]

0 голосов
/ 23 января 2012

Я сделал пример в своем предыдущем ответе: Прокрутка UITableView плавная с определенной скоростью?

Этот пример будет весьма уместен для вас, если вы сможете расшифровать изменения, которые необходимо внести.

Вот что вам нужно сделать: В тот момент, когда вы хотите запустить анимацию (которая находится в начале или даже на странице), вам нужно запустить таймер. Затем через определенный интервал вы можете запустить метод, который устанавливает contentOffset немного дальше вправо (измените значение Y соответствующим образом). Когда вы заходите в конец страниц или запускаете целевой метод x-times (который легко хранится в свойстве / глобальном значении), вы можете сделать таймер недействительным.

Посмотрите на вопрос, который я написал, и вы найдете там каждый кусочек головоломки. Вы поймете это.

Удачи.

0 голосов
/ 23 января 2012

создать NSTimer с интервалом 4 секунды.

пусть это будет метод огня:

- (void)timerFireMethod {
    horOffSet = horOffSet + 320;
    //CGFloat horOffSet is an instance variable of the ViewController.
    //init as 0; I assume the width is 320. Any other width possible

    [scroller setContentOffset:CGPointMake(horOffSet, 98) animated: YES];

    if (horOffSet == 3*320) {
        horOffSet = 0;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...