2

iPhoneMP-ムービープレーヤー-コントローラーのサンプルアプリケーションを見てきました。

彼らはサンプルコードに関する通知を追加しました。

// 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メソッドが呼び出されます。

同様に、ユーザーがナビゲーションバーから戻るボタンを押したときにメソッドを起動したいと思います(ナビゲーションコントローラーを介して前のビューコントローラーに戻ります)。

そのための通知を追加する方法がわかりません。

4

2 に答える 2

6

独自のカスタム戻るボタンを次の場所に配置しますnavigationItem

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

viewControllerのgoBackメソッドに、必要なコードを入力してから、viewController をポップします。

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

[self.view.navigationController popToRootViewControllerAnimated:YES];
}
于 2009-11-04T22:04:24.603 に答える
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];
}
于 2009-11-04T22:17:53.253 に答える