2011-10-21 33 views
9

, bu UINavigationBar ve ben sürüklenen ve sağ tarafta düştü bir UIBarButtonItem oluşur. Şimdi bu düğmeyi ayarlamak çalışıyorumUIBarButtonItem öğesini nasıl gizleyebilirim? Ben IB basit UI oluşturduk

belli kere gizlenmesine ama bazı sorunlar yaşıyorum. Şu ana kadar kullanarak denedi

: Benim için işe yaramadı

self.NavigationItem.rightBarButton = nil; 

.... Ayrıca oluşturmayı denedim ve IBOutlet ile butona bağladım ama bununla da problemlerim var. Bence oldukça basit olmalı ve belki de aşırı karmaşık yapıyorum ama bu noktada oldukça şaşırdım!

biri bana yardım eder misiniz?

+0

çalışmadığından emin olun ve sizin NavigationItem çıkış ayarlanır. – logancautrell

cevap

25

UINavigationItem doesnt rightBarButton özelliği vardır. yerine rightBarButtonItem (veya [self.navigationItem setRightBarButtonItem:nil animated:NO];) deneyin:

self.navigationController.navigationItem.rightBarButtonItem = nil; 
// Or 
self.navigationItem.rightBarButtonItem = nil; 
// Or 
[self.navigationItem setRightBarButtonItem:nil animated:NO]; 
0

Ayrıca UIBarButtonItem en customView gibi bir UIButton ekleyebilir. Sonra Aksine çubuğu düğmesi öğesini silme ve düğmeyi yok daha customView (UIButton) gizli özelliği

0

belirleyebilir ve sadece devre dışı olduğunda metni temizlemek için ayarlayabilirsiniz, film şeridi segue bağlı. İstediğiniz hiç çubuğu düğmesi öğesi gizli zaman

[self.navigationItem.rightBarButtonItem setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor clearColor]} 
                 forState:UIControlStateDisabled]; 

Ardından yapmak sadece yapabilirsiniz:

self.navigationItem.rightBarButton.enabled = NO; 

Orada hiçbir gizli özellik ama bu aynı sonucu sunmaktadır topal.

0

Aslında, sadece istenilen UIBarButtonItem bir IBOutlet başvuru oluşturabilir ve gerektiğinde sadece aşağıdaki gibi yapın:

[self.yourOutletRerence setImage: nil]; 
0

en basit çözümü: Sadece geleneğine BarButtonItem en tanımlayıcı değiştirin.