私は自分のアプリでビューを切り替えるナビゲーションコントロールを追加しました。しかし、ビューの中には「戻る」(前のタイトル)ボタンがないものがあります。戻るボタンを隠す方法について何かアイデアはありますか?
目的C:self.navigationItem.hidesBackButton = YES;
迅速:navigationItem.hidesBackButton = true
最善の方法はこれらを組み合わせることであるため、手動で設定しても戻るボタンは隠されます。
self.navigationItem.leftBarButtonItem=nil;
self.navigationItem.hidesBackButton=YES;
ベローコードで戻るボタンを隠す...
[self.navigationItem setHidesBackButton:YES animated:YES];
または
[self.navigationItem setHidesBackButton:YES];
あなたがカスタムUINavigationBar
を持っているならば、また、以下のコードを試してください
self.navigationItem.leftBarButtonItem = nil;
Swiftで:
これをコントローラーに追加します
override func viewDidLoad() {
super.viewDidLoad()
self.navigationItem.setHidesBackButton(true, animated: false)
}
コードを使用してください:
self.navigationItem.backBarButtonItem=nil;
UIViewControllerの関数viewDidLoadに次のコードを使用します。
self.navigationItem.hidesBackButton = YES;
ナビゲーションコントローラを持つオブジェクトでそれを呼び出す必要があることを忘れないでください。たとえば、RootViewControllerでTab Bar Controllerをプッシュしているnavコントローラがある場合、RootViewControllerでself.navigationItem.hidesBackButton = YES
を呼び出しても何も起こりません。あなたは実際にself.tabBarController.navigationItem.hidesBackButton = YES
を呼ばなければならないでしょう
ジェスチャーを後退させるスライドがあることを忘れないでください。おそらくこれも削除したいでしょう。 必要に応じて再度有効にするのを忘れないでください
if ([self.navigationItem respondsToSelector:@selector(hidesBackButton)]) {
self.navigationItem.hidesBackButton = YES;
}
if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) {
self.navigationController.interactivePopGestureRecognizer.enabled = NO;
}
このコードをView Controllerに追加してください。
UIView *myView = [[UIView alloc] initWithFrame: CGRectMake(0, 0, 300, 30)];
UIBarButtonItem *btnL = [[UIBarButtonItem alloc]initWithCustomView:myView];
self.navigationItem.leftBarButtonItem = btnL;
私が設定したときそれはすべての場合に私のために働いていませんでした
self.navigationItem.hidesBackButton = YES;
viewWillAppearまたはViewDidLoadでは、viewControllerのinitで設定したときに完璧に機能しました。
私には上記のどれもうまくいかないようでした、それは視覚的な効果がありませんでした。ナビゲーションコントローラに「埋め込まれた」ビューを持つストーリーボードを使用しています。
私はコードレベルで私のmenuItemを追加し、そして何らかの理由でビューの階層を視覚的にデバッグするときに "backButton"が見えるようになり、私のmenuItemアイコンは見えない "戻るボタン"の下に表示されます。
さまざまなフックメソッドで提案されているように、私は設定を試しましたが、それは効果がありませんでした。それから私はより残忍なアプローチを試みて、やはり効果がなかったサブビューを反復しました。
私は自分のアイコンのサイズを調べたところ、問題ないようでした。彼のAppleヒューマンインタフェースガイドラインを参照した後、私は自分のアイコンが正しいことを確認しました。 (私の場合は1ピクセル小さい24px 48px 72px)。
それから奇妙な部分は実際の修正です...
BarButton Itemを追加するときは、少なくとも1文字のタイトルを付けてください、私の場合は空白文字です。
これが誰かに役立つことを願っています。
//left menu - the title must have a space
UIBarButtonItem *leftButtonItem = [[UIBarButtonItem alloc] initWithTitle:@" " <--THE FIX
style:UIBarButtonItemStylePlain
target:self
action:@selector(showMenu)];
leftButtonItem.image = [UIImage imageNamed:@"ic_menu"];
[self.navigationItem setLeftBarButtonItem:leftButtonItem];
これを試してください - self.navigationController?.navigationItem.hidesBackButton = true
C#またはXamarin.iosでは、this.NavigationItem.HidesBackButton = true;です。