0

ViewController2 に backbarButtonItem があり、画面が親のビューコントローラーである ViewController1 に戻ったときに、戻る準備ができているかどうかをユーザーに尋ねたいと思います。彼の準備ができていない場合は、ViewController に留まるオプションを提供したいと思います。「この画面を離れる準備はできていますか? - はいまたはいいえ」のように尋ねます。

Apple doc で定義されているように、backbarButtonItem は「アクション」を呼び出すことができないことを知っています。何か良い解決策はありませんか?

4

3 に答える 3

2

独自のカスタム leftBarButtonItem をナビゲーション項目に追加し、任意のアクション メソッドを追加します。標準の戻るボタンと同じ外観にはなりませんが、これは良いことだと思います。ユーザーは、標準のボタンが標準の動作をすることを期待しています。通常の長方形のボタンを使用すると、何か違うことが起こっていることをユーザーに警告できます。

于 2013-04-03T03:59:56.840 に答える
2

これをビューの didLoad メソッドに書き込みます。

    UIImage* myimage = [UIImage imageNamed:@"ButtonImage.png"];
    CGRect backFrame = CGRectMake(0, 0, 80, 30);
    backButton = [[UIButton alloc] initWithFrame:backFrame];
    [backButton setBackgroundImage:myimage forState:UIControlStateNormal];
    [backButton addTarget:self action:@selector(MyBtnclicked)
         forControlEvents:UIControlEventTouchUpInside];

    UIBarButtonItem *btn = [[UIBarButtonItem alloc]initWithCustomView:backButton];
    self.navigationItem.leftBarButtonItem = btn;

ibaction を次のように記述します。

-(IBAction)MyBtnclicked
{
    UIAlertView *av=[[UIAlertView alloc] initWithTitle:nil message:@"Do you really want to Go back" delegate:self cancelButtonTitle:@"No" otherButtonTitles:@"Yes",nil]; 
    [av show];
}
于 2013-04-03T05:26:38.393 に答える