добавлено несколько действий @selector - PullRequest
0 голосов
/ 04 февраля 2012

Имейте кнопку воспроизведения на главном контроллере.Эта кнопка в основном переключается между кнопками воспроизведения и паузы, которая работает нормально.Теперь я добавил еще одно действие для кнопки воспроизведения.Когда я нажимаю кнопку воспроизведения, при одновременном переключении между воспроизведением и паузой он не отображается.*

также пытался добавить точку останова на

-(void)pageViewControllerAction:

, это не выполняется.

Любые идеи, что происходит.Что я делаю не так.

Спасибо за помощь.

Ответы [ 2 ]

2 голосов
/ 04 февраля 2012

Ну, это не выполнение

(void)pageViewControllerAction:(id)sender 

потому что у вас есть исключение в предыдущем методе? Где этот audioPlayer определен и инициализирован? Это может быть проблемой здесь.

Во-вторых, зачем вам два действия. Просто имейте одну и вызывайте другую функцию изнутри.

пример:

UIButton *playpauseButton = [UIButton buttonWithType:UIButtonTypeCustom];
[playpauseButton addTarget:self action:@selector(playpauseAction:) forControlEvents:UIControlEventTouchUpInside];
  //  [playpauseButton addTarget:self action:@selector(pageViewControllerAction:) forControlEvents:UIControlEventTouchUpInside];
playpauseButton.frame = CGRectMake(0, 0, 50, 50);



-(void)playpauseAction:(id)sender 
{
if ([audioPlayer isPlaying]){
    [sender setImage:[UIImage imageNamed:@"play.png"] forState:UIControlStateNormal];
    [audioPlayer pause];
} else {
    [sender setImage:[UIImage imageNamed:@"pause.png"] forState:UIControlStateNormal];
    [audioPlayer play];
}    


[self pageViewControllerAction]; // Here is the call to the other function
}

Изменить: Наконец, убедитесь, что у вас есть функция, определенная в вашем .h файле следующим образом:

- (void) pageViewControllerAction;

Кроме: Я не понял вашу логику настройки изображения. Похоже, ошибка в этой логике. Вам также необходимо указать UIControlStateSelected после нажатия кнопки. Вы только устанавливаете UIControlStateNormal

1 голос
/ 04 февраля 2012

Вам необходимо добавить отправителя в качестве аргумента для селектора:

- (void)pageViewControllerAction:(id)sender
    { ... }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...