Uygulamamdaki görünümler arasında geçiş yapmak için bir gezinme kontrolü ekledim. Ancak bazı görünümlerde 'Geri' (önceki başlık) düğmesi olmamalıdır. Geri düğmesini gizleme hakkında herhangi bir fikriniz var mı?
Uygulamamdaki görünümler arasında geçiş yapmak için bir gezinme kontrolü ekledim. Ancak bazı görünümlerde 'Geri' (önceki başlık) düğmesi olmamalıdır. Geri düğmesini gizleme hakkında herhangi bir fikriniz var mı?
Yanıtlar:
Objective-C:
self.navigationItem.hidesBackButton = YES;
Swift:
navigationItem.hidesBackButton = true
self.navigationItem.leftBarButtonItem = nil;
. Leftbarbuttonitem'i açık bir şekilde ayarladıysanız kullanabilirsiniz self.navigationItem.leftBarButtonItem = nil;
. self.navigationItem.hidesBackButton = YES;
Geri düğmesini gizleyecek Öğe
Bunları birleştirmenin en iyi yolu, manuel olarak ayarlasanız bile geri düğmesini gizleyecektir:
self.navigationItem.leftBarButtonItem=nil;
self.navigationItem.hidesBackButton=YES;
feryat kodu ile geri düğmesi gizle ...
[self.navigationItem setHidesBackButton:YES animated:YES];
veya
[self.navigationItem setHidesBackButton:YES];
Ayrıca özel varsa UINavigationBar
o zaman feryat kodu deneyin
self.navigationItem.leftBarButtonItem = nil;
In Swift :
Bunu denetleyiciye ekle
override func viewDidLoad() {
super.viewDidLoad()
self.navigationItem.setHidesBackButton(true, animated: false)
}
Kodu kullanın:
self.navigationItem.backBarButtonItem=nil;
Gezinme denetleyicisine sahip nesne üzerinde çağırmanız gerektiğini unutmayın. Örneğin, bir RootViewController ile sekme çubuğu denetleyicisini iten gezinme denetleyiciniz varsa self.navigationItem.hidesBackButton = YES
, RootViewController'ı çağırmak hiçbir şey yapmaz. Aslında aramak zorundasınself.tabBarController.navigationItem.hidesBackButton = YES
Şimdi arka arkaya kaydırma hareketine sahip olduğumuzu unutmayın. Muhtemelen bunu da kaldırmak istersiniz. Gerekirse tekrar etkinleştirmeyi unutmayın.
if ([self.navigationItem respondsToSelector:@selector(hidesBackButton)]) {
self.navigationItem.hidesBackButton = YES;
}
if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) {
self.navigationController.interactivePopGestureRecognizer.enabled = NO;
}
Bu kodu görünüm denetleyicinize ekleyin
UIView *myView = [[UIView alloc] initWithFrame: CGRectMake(0, 0, 300, 30)];
UIBarButtonItem *btnL = [[UIBarButtonItem alloc]initWithCustomView:myView];
self.navigationItem.leftBarButtonItem = btnL;
Benim için yukarıdakilerin hiçbiri işe yaramadı, görsel bir etkisi yoktu. Bir gezinti denetleyicisine "katıştırılmış" görünümde film şeridi kullanıyorum.
Sonra kod düzeyinde benim menuItems ekleyin ve nedense "backButton" görünüm hiyerarşisinde görsel hata ayıklama görünür ve görünmez "geri düğmesi" altında benim menuItem simgesi görüntülenir.
Çeşitli kanca yöntemlerinde önerildiği gibi ayarları denedim ve bunun bir etkisi olmadı. Sonra daha acımasız bir yaklaşım denedim ve alt etkisi de tekrar etmedi.
Simge boyutlarını inceledim ve iyi görünüyordu. Apple İnsan Arayüz Kılavuzuna baktıktan sonra Simgelerimin doğru olduğunu onayladım. (Benim durumumda 1 piksel daha küçük 24px 48px 72px).
O zaman en garip kısım asıl düzeltme ...
BarButton Öğesini eklerken, en az bir karakterli bir başlık verin , Benim durumumda bir boşluk karakteri.
Umarım bu birine yardımcı olur.
//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];
bunu dene -
self.navigationController?.navigationItem.hidesBackButton = true
C # veya Xamarin.ios'ta this.NavigationItem.HidesBackButton = true;
navigationItem.leftBarButtonItem = nil
navigationItem.hidesBackButton = true
Bu kod bloğunu didLoad veya loadView içinde kullanırsanız, ancak mükemmel çalışmıyorsa dikkatlice bakarsanız, görünümünüz yüklendiğinde geri düğmesinin gizlendiğini görebilirsiniz.
Mükemmel çözüm nedir?
Ekle BarButtonItem ComponentView dan bileşeni (Command + Shift + L) hedef viewControllers gezinti çubuğuna.
Sağ panelden BarButtonItem set Title = "" öğesini seçin