'da gösterilen UIViewController'a bağlı olarak nasıl değiştirilir? Sorusu gibi, UINavigationController tarafından farklı UIViewControllers görüntülendiğinde UINavigationBar'ın içeriğini değiştirmem gerekiyor. Gezinme denetleyicisi yalnızca denetleyicinin başlık özelliğini kullandığı için bu özellik başlıklar için kolayca yapılabilir. Benim mücadele ettiğim şey, denetleyiciye bağlı olarak sol ve sağ çubuk düğme öğelerini değiştirmektir.UINavigationBar, UINavigationController
başvuru için aşağıdaki kullanacağınız rağmen onları değiştirmek için kullanacağı kod, zaten birden fazla diğer sorular değinilmeyen ve gerçekten sorun değil etmiştir:
UIBarButtonItem *newItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:
UIBarButtonSystemItemAdd target:self action:nil];
newItem.tintColor = [UIColor whiteColor];
self.navigationItem.rightBarButtonItem = newItem;
Bence ne ben Aradığım şey, navigasyon denetleyici düzenini kurmak için navigasyon denetleyicisi tarafından yeni bir UIViewController'ın gösterildiği her zaman çağrılan bir yöntemdir. Ben app çalıştırdığınızda
// Called when the navigation controller shows a new top view controller via a push, pop or setting of the view controller stack.
- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated;
Ancak bu yöntem görünüşte herhangi bir noktada çağrılmaz: UINavigationController belgelerinde aşağıdaki yöntemidir. Yani, navigasyon denetleyicisi tarafından yeni bir görüntü denetleyicisi gösterildiğinde çağrılan bir yöntem var mı? Yoksa burada tamamen yanlış gidiyorum ve navigasyon çubuğunun şu ana kadar görüntülediğim manzarayla değiştirilmesinin kabul edilmiş bir yolu var mı?
Bu yöntem, UINavigationController'ın kendisi değil, UINavigationControllerDelegate protokolünün bir parçasıdır. Protokolü kabul ettin ve 'delegeyi' ayarladın mı? – pbasdf
Otomatik olarak gerçekleşmeyen gezinme çubuğunu hangi yolla değiştirmek istersiniz? – Wain
Normal olarak, her bir denetleyicideki barButton öğelerini ayrı ayrı atarsınız (otomatik olarak bir geri düğmesi eklenmiş). Navigasyon kontrol cihazında bunu yapmak için bir neden var mı? –