Значение UIPageControl изменено, не стреляя - PullRequest
5 голосов
/ 09 сентября 2011

У меня проблема с UIPageControl.Я упростил проблему для ясности ниже:

Я поместил кнопку и UIPageControl в свое приложение с помощью Интерфейсного конструктора и добавил в код следующее:

- (IBAction)tappedButton:(id)sender{
    self.pageControl.currentPage = 3;
    NSLog(@"Tapped Button");
}

- (IBAction)changePage:(id)sender{
    NSLog(@"PAGE Changed!!!!");        
}

Я прикрепил значениеИзменено действие на pageController через Interface Builder.

Когда я нажимаю на кнопку, я вижу вывод «Нажатая кнопка», и подсвечивается третья точка ..., но метод changePage никогда не вызывается.

Есть идеи?

Ответы [ 2 ]

2 голосов
/ 09 сентября 2011

Метод changePage: вызывается только тогда, когда пользователи запрашивают изменение страницы с помощью UIPageControl. Он не будет вызываться, когда пользователь нажимает кнопку. Если вы хотите вызвать метод changePage: при нажатии кнопки, вызывайте его явно:

 [self changePage: nil];
1 голос
/ 09 сентября 2011

UIPageControl фактически не меняет страницы для вас.Вы должны написать этот код в ответ на событие valueChanged.Итак, вы хотите подключить это событие вашего объекта UIPageControl к вашему выводу (tappedButton: я полагаю), а затем вызвать ваш метод changePage: для фактического изменения пользовательского интерфейса.Помогает ли это?

Есть несколько примеров проектов, на которые ссылаются документы Apple, которые используют UIScrollView и UIPageControl вместе.Проверьте их.

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