3

アプリケーションに問題があります。

私のアプリケーションでは、いくつかの情報 (iPhone の連絡先など) を編集する可能性があります。ナビゲーションバーの右側にある「編集」ボタンを押すと、「戻る」ボタンが非表示になり、「キャンセル」ボタンが表示されます。

ユーザーがViewControllerから直接「編集」ボタンを押すと、完全に機能します。

ただし、ユーザーが新しい広告を作成するときは、編集機能を備えたビュー コントローラーを編集モードで開く必要があります。私はそれを次のように呼んでいます:

VICarInfo * vc = [[VICarInfo alloc] init];
[vc setCurrentAdv:adv];
[self.navigationController pushViewController:vc animated:YES];

if (editMode) {
    [self.navigationItem setHidesBackButton:YES animated:NO];
    [vc btnEditClick];
}

そして「戻る」ボタンが消えませんでした。

また、ViewWillAppear、ViewDidLoad、または ViedDidLayout サブビューのボタンを非表示にしようとしましたが、これも失敗しました。

シミュレーター

どうすればいいか、アドバイスをお願いします。

ありがとうございました。

4

5 に答える 5

13

これを使って :

    self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:[[UIView alloc] init]];
于 2014-01-25T21:50:29.327 に答える
4

これが遅いことはわかっていますが、同じことを見て解決策を見つけました。

hidesBackButton = YES が leftBarButtonItem の設定を妨げているようです。

hidesBackButton を使用しないでください。オーバーレイが失われます。

これはバグのように思えますが、Apple 自身のドキュメントでは、これら 2 つまたは 3 つのプロパティの相互作用についてかなりあいまいです。

于 2013-10-03T12:25:36.860 に答える
3

これを試してみてください..

[self.navigationItem setLeftBarButtonItem:nil];
[self.navigationItem setHidesBackButton:YES];
于 2013-07-19T13:06:42.073 に答える