2

Я видел образец приложения iPhone MP-player player - контроллер.Как добавить уведомление для контроллера pop view в приложении iphone?

Они добавили уведомление о образце кода.

// Register to receive a notification that the movie is now in memory and ready to play 
[[NSNotificationCenter defaultCenter] addObserver:self 
       selector:@selector(moviePreloadDidFinish:) 
       name:MPMoviePlayerContentPreloadDidFinishNotification 
       object:nil]; 

В коде выше, когда MPMoviePlayerController заканчивает загрузку, он вызывает метод moviePreloadDidFinish.

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

Я не знаю, как добавить уведомление для этого.

Просьба дать мне некоторые указания, если это возможно.

Заранее спасибо за помощь мне,

Sagar.

+0

View-Will-Appear & View-Will-Disappear не будет работать для меня. Потому что я использую несколько контроллеров UINavigation в контроллере панели вкладок. –

ответ

6

Поместите свой собственный кнопку назад в navigationItem:

UIBarButtonItem *btn = [[UIBarButtonItem alloc] initWithImage:yourImage style:UIBarButtonItemStyleBordered target:self action:@selector(goBack)]; 
self.navigationItem.leftBarButtonItem = btn; 
[btn release]; 

В goBack методе вашего ViewController, вы поставите любой код, вам нужно, а затем вытолкнуть ViewController:

- (void)goBack { 
/* your code here */ 

[self.view.navigationController popToRootViewControllerAnimated:YES]; 
} 
+1

См. Я добавил свой собственный код. –

0

Я установил скрытую кнопку кнопки навигационного контроллера.

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    UIBarButtonItem *x=[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemRewind target:self action:@selector(gotoPreviousView)]; 
    UINavigationItem *y=self.navigationItem; 
    y.hidesBackButton=YES; 
    y.leftBarButtonItem=x; 
    [x release]; 
} 

-(void)gotoPreviousView{ 
    MyAccountViewCtr *x=(MyAccountViewCtr*)[self.navigationController.viewControllers objectAtIndex:0]; 
    [self.navigationController popViewControllerAnimated:YES]; 
    [x refreshItems]; 
} 
Смежные вопросы