Воспроизвести звук на UINavigationBar нажал кнопку назад - PullRequest
0 голосов
/ 21 декабря 2011

Как воспроизводить звук ТОЛЬКО при нажатии кнопки «назад» на панели навигации UINavigation?

Ответы [ 2 ]

2 голосов
/ 21 декабря 2011

Для этого вам нужно заменить обычную кнопку «назад» на новую, с вашим кодом воспроизводимого звука:

//in ViewDidLoad:

    UIBarButtonItem *barBtnItem = [[UIBarButtonItem alloc]initWithTitle:@"Back" style:UIBarButtonItemStyleBordered target:self action:@selector(pop:)];
    self.navigationItem.leftBarButtonItem = barBtnItem;
    [barBtnItem release];

//action:
- (IBAction)pop:(id)sender {
    //your code of playing sound here
    [self.navigationController popViewControllerAnimated:YES];
}

Но обратите внимание, что она не будет выглядеть как обычная «назад»кнопка.Это будет прямоугольник.Если вы хотите, чтобы она выглядела как обычная кнопка «назад», реализуйте ее как пользовательскую кнопку с обычным изображением (как обычная кнопка «назад»)

1 голос
/ 21 декабря 2011

В вашем поп-методе вы можете воспроизводить звук:

- (IBAction)pop:(id)sender
{
    NSString *soundPath = [[NSBundle mainBundle] pathForResource:@”soundName” ofType:@”wav”];

    SystemSoundID soundID;

    AudioServicesCreateSystemSoundID((CFURLRef)[NSURL fileURLWithPath: soundPath], &soundID);

    AudioServicesPlaySystemSound (soundID);

    [soundPath release];
    [self.navigationController popViewControllerAnimated:YES];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...