Saya menambahkan kontrol navigasi untuk beralih di antara tampilan di aplikasi saya. Tetapi beberapa tampilan seharusnya tidak memiliki tombol 'Kembali' (judul sebelumnya). Ada ide tentang cara menyembunyikan tombol kembali?
Saya menambahkan kontrol navigasi untuk beralih di antara tampilan di aplikasi saya. Tetapi beberapa tampilan seharusnya tidak memiliki tombol 'Kembali' (judul sebelumnya). Ada ide tentang cara menyembunyikan tombol kembali?
Jawaban:
Tujuan-C:
self.navigationItem.hidesBackButton = YES;
Cepat:
navigationItem.hidesBackButton = true
self.navigationItem.leftBarButtonItem = nil;
. Jika Anda telah menetapkan leftbarbuttonitem secara eksplisit, Anda dapat menggunakannya self.navigationItem.leftBarButtonItem = nil;
. self.navigationItem.hidesBackButton = YES;
akan menyembunyikan tombol Kembali Item
Cara terbaik adalah menggabungkan ini, sehingga akan menyembunyikan tombol kembali bahkan jika Anda mengaturnya secara manual:
self.navigationItem.leftBarButtonItem=nil;
self.navigationItem.hidesBackButton=YES;
sembunyikan tombol kembali dengan kode di bawah ini ...
[self.navigationItem setHidesBackButton:YES animated:YES];
atau
[self.navigationItem setHidesBackButton:YES];
Juga jika Anda memiliki kustom UINavigationBar
kemudian coba kode di bawah ini
self.navigationItem.leftBarButtonItem = nil;
Dalam Swift :
Tambahkan ini ke controller
override func viewDidLoad() {
super.viewDidLoad()
self.navigationItem.setHidesBackButton(true, animated: false)
}
Gunakan kode:
self.navigationItem.backBarButtonItem=nil;
Jangan lupa bahwa Anda perlu menyebutnya pada objek yang memiliki kontroler nav. Sebagai contoh, jika Anda memiliki nav controller mendorong pengontrol tab bar dengan RootViewController, memanggil self.navigationItem.hidesBackButton = YES
RootViewController tidak akan melakukan apa-apa. Anda benar-benar harus meneleponself.tabBarController.navigationItem.hidesBackButton = YES
Jangan lupa bahwa kami memiliki gerakan geser ke belakang sekarang. Anda mungkin ingin menghapus ini juga. Jangan lupa untuk mengaktifkannya kembali jika perlu.
if ([self.navigationItem respondsToSelector:@selector(hidesBackButton)]) {
self.navigationItem.hidesBackButton = YES;
}
if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) {
self.navigationController.interactivePopGestureRecognizer.enabled = NO;
}
Tambahkan kode ini di pengontrol tampilan Anda
UIView *myView = [[UIView alloc] initWithFrame: CGRectMake(0, 0, 300, 30)];
UIBarButtonItem *btnL = [[UIBarButtonItem alloc]initWithCustomView:myView];
self.navigationItem.leftBarButtonItem = btnL;
Bagi saya tidak satu pun di atas yang berfungsi, itu tidak memiliki efek visual. Saya menggunakan storyboard dengan tampilan yang "tertanam" di pengontrol navigasi.
Saya kemudian pada tingkat kode menambahkan menuItems saya dan untuk beberapa alasan "backButton" terlihat ketika secara debugging hierarki tampilan, dan Ikon menuItem saya ditampilkan di bawah "tombol kembali" yang tidak terlihat.
Saya mencoba pengaturan, seperti yang disarankan pada berbagai metode pengait dan itu tidak berpengaruh. Kemudian saya mencoba pendekatan yang lebih brutal dan beralih ke subview yang juga tidak berpengaruh.
Saya memeriksa ukuran ikon saya dan tampaknya ok. Setelah merujuk pada dia, "Human Interface Guideline" saya mengkonfirmasi bahwa Ikon saya benar. (1 piksel lebih kecil dalam kasus saya 24px 48px 72px).
Bagian yang paling aneh adalah perbaikan ...
Saat menambahkan Item BarButton berikan judul dengan setidaknya satu karakter , Dalam kasus saya karakter spasi.
Semoga ini bisa membantu seseorang.
//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];
coba yang ini -
self.navigationController?.navigationItem.hidesBackButton = true
Di c # atau Xamarin.ios, this.NavigationItem.HidesBackButton = true;
navigationItem.leftBarButtonItem = nil
navigationItem.hidesBackButton = true
jika Anda menggunakan blok kode ini di dalam DidLoad atau loadView bekerja tetapi tidak bekerja dengan sempurna. Jika Anda perhatikan dengan teliti, Anda dapat melihat tombol kembali bersembunyi saat tampilan Anda dimuat. Terlihat aneh.
Apa solusi yang sempurna?
Tambahkan komponen BarButtonItem dari componentView (Command + Shift + L) ke bilah navigasi viewControllers target Anda.
Pilih BarButtonItem atur Title = "" dari panel kanan