#ios #objective_c #scroll #scrollview
У меня есть горизонтальный scrollView. 0 - это стартовый экран. Хочу задать ограничения кнопкам. next должна листать вправо от 0 до 5. back должна листать влево от 5 до 0 (не -1). Как это сделать? -(IBAction)next:(id)sender { self.currentPage++; CGFloat pageWidth = scroll.frame.size.width; [scroll setContentOffset:CGPointMake(pageWidth*self.currentPage, 0) animated:YES]; } -(IBAction)back:(id)sender { self.currentPage--; CGFloat pageWidth = scroll.frame.size.width; [scroll setContentOffset:CGPointMake(pageWidth*self.currentPage, 0) animated:YES]; }
Ответы
Ответ 1
в next: первой строкой дописать if(self.currentPage == 5) return; // или 4, если у вас 5 экранов всего в back: if(self.currentPage == 0) return; чтобы просто игнорировать нажатия.Ответ 2
Перед сдвигом проверяй scroll.contentOffset.x. Он не должен быть меньше 0 и больше pageWidth*4. В идеале после каждого сдвига проверяешь scroll.contentOffset.x. Если он == 0, то деактивируешь кнопку back. Аналогично для кнопки next.
Комментариев нет:
Отправить комментарий