2014-10-06 2 views
0

Я реализовал базовый слайдер, используя iCarousel iOS-библиотеку, но я не знаю, как сделать это как автоматический слайдер вместо ручного скольжения.Как реализовать автоматический сдвиг iCarousel в iOS?

Вот мой пример кода проекта Pls помочь мне

Code

Когда я искал в гугле я получил эту ссылку, но я не понял ничего

https://github.com/nicklockwood/iCarousel/issues/84

ответ

0

Глядя на GitHub link, я предполагаю, что вы хотите автопрокрутить элемент по представлению.

Вы определили функцию

- (void)scrollToItemAtIndex:(NSInteger)index animated:(BOOL)animated 

Однако это не является частью делегата iCarousel, его уже определен как часть класса, поэтому вам просто нужно назвать. Помещение в viewDidAppear было бы уместным, если бы вы хотели, чтобы он автоматически прокручивался до определенного индекса, когда ваш контроллер представления был представлен пользователю. Просто добавьте метод ниже.

- (void)viewDidAppear:(BOOL)animated 
{ 
    [super viewDidAppear:animated]; 

    // The index of 3 was just chosen as an example 
    NSInteger chosenIndex = 3; 
    [self.carousel scrollToItemAtIndex:chosenIndex animated:YES]; 
} 
+0

есть ли способ сделать это как АВТОПРОКРУТКА каждый раз, как в IOS App Store скользящим –

+0

как нечто, основанное на таймере –

+0

Конечно, если вы реализовали таймер, и как только срабатывает каждую секунду или так, увеличьте индекс и вызовите функцию scrollToItemAtIndex. Вероятно, вы хотите установить свойство wrapEnabled в iCarousel равным YES, чтобы прокрутка непрерывно завершалась. –

2

Это решило мою проблему в ViewDidAppear() я добавил следующую строку

-(void)viewDidAppear:(BOOL)animated 
{ 
    sliderCount=0; 
    [super viewDidAppear:animated]; 
    [NSTimer scheduledTimerWithTimeInterval:3.0f target:self selector:@selector(runMethod) userInfo:nil repeats:YES]; 
} 

-(void)runMethod 
{ 
    [self.carousel scrollToItemAtIndex:sliderCount animated:YES]; 
    if(sliderCount== 7) 
    { 
     sliderCount=0; 
    } 
    else 
    { 
     sliderCount++; 
    } 
} 
1

В вашем ViewDidLoad method в вашем Viewcontroller.

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    //configure carousel 
    carousel.type=iCarouselTypeCylinder; 
    carousel.autoscroll=0.4; 
} 
0
- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    carousel.type=iCarouselTypeCylinder; 
    carousel.autoscroll=0.8; 
    [carousel reloadData]; 
} 
Смежные вопросы