1

UINavigationController

UINavigationControllerたとえば、ユーザーが戻るボタンを押したときに がアニメーション化されないようにしたいとします。

4

2 に答える 2

4

戻るボタンのタップ自体を傍受するつもりがなく、代わりに現在のView Controllerが消えるという行為を行う場合は、次を使用できます。

- (void)viewWillDisappear:(BOOL)animated {
    if (self.isMovingFromParentViewController) {
        // handle back button press
    }
}

戻るボタンを使用したい場合は、独自のカスタムを作成UIBarButtonItemし、それを現在のコントローラーの に設定できますleftBarButtonItem[self.navigationController popViewControllerAnimated:YES]独自のロジックを実行し終わったら、必ず呼び出してください。

于 2013-05-13T02:27:21.823 に答える
0

アプリケーションの ViewDidLoad に以下のコードを追加します。

    UIButton *btnBack = [UIButton buttonWithType:UIButtonTypeCustom];
    [btnBack setFrame:CGRectMake(0.0f, 0.0f, 55.0f, 35.0f)];
    [btnBack addTarget:self action:@selector(backClicked:) forControlEvents:UIControlEventTouchUpInside];
    [btnBack setImage:[UIImage imageNamed:@"back.png"] forState:UIControlStateNormal];

    UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithCustomView:btnBack];

    self.navigationItem.leftBarButtonItem = backButton;

これにより、カスタムの [戻る] ボタンが作成されます。「Back.png」はOSと同じ画像です。

以下のコードを関数として追加します。これは RootViewcontroller にポップします。

- (void) backClicked:(id)sender {

// perform certain task
// If task is completed then call below LOC

[self.navigationController popToRootViewControllerAnimated:YES]; }

ここに画像の説明を入力

于 2014-02-05T13:56:56.123 に答える