40

Uygulamamda, görüntüyü (logo) Gezinme çubuğuna eklemek istiyorum. Ben XCode 4.2 ve iOS 5.IPhone uygulamasında UINavigationBar uygulamasında resim ekleme

Ben UINavigationBar biliyorum üzerinde çalışıyorum, UIToolBar Yani iOS 4.2 UINavigationBar kod ben ekran görüntüsünü desteklemek istiyoruz iOS 5'de

çalışmayacaktır iOS 5. değiştirildi Hem 4.2 hem de 5 sürümünde UINavigationBar.

Aşağıdaki ekran görüntüsünde olduğu gibi UINavigationBar görüntüde olmak istiyorum.

Navigation bar image

bu bağlamda yardımcı ve varsa herhangi bir örnek kod bana onun çok yararlı anlamına edin.

Teşekkürler!

cevap

76

Bunu yapmanın bir yolu, UINavigationItem.titleView ve UINavigationItem.rightBarButtonItem kullanmaktır. Şunun gibi: İşte

viewController.navigationItem.titleView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"yourimage.png"]]; 
UIBarButtonItem * item = [[UIBarButtonItem alloc] initWithCustomView:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"yourimage2.jpg"]]];  
viewController.navigationItem.rightBarButtonItem = item;  

Ben özel bir görünüm olarak UIImageView kullanıyorum ama özel görüntüye sahip UIButton olabilir.

+0

işlevi kullanmak için bir protokol uzantısı oluşturabilir Will iOS4 ile 5 ikisi için bu iş? ve UINavigationbar için arka plan görüntüsünü eklemek değil, eklemek istediğiniz "clingle" Logo mu? – Illep

+0

En az Simülatörde çalışır. Yapmamam için hiçbir sebep göremiyorum. İkinci sorunuzu anlamadım. – barley

+0

teşekkürler. ama eşya nesnesinin örneğinizde olmadığını fark ettim. –

32

başka yolu da viewController

// Create your image 
UIImage *image = [UIImage imageNamed: @"logo.png"]; 
UIImageView *imageview = [[UIImageView alloc] initWithImage: image]; 

// set the image view to the title view 
self.navigationItem.titleView = imageview; 
3

Swift sürümünü kullanmadan: Sen görünüm denetleyicileri

protocol Customizable { 
    var navigationItem: UINavigationItem { get } 
} 

extension Customizable { 
    func setNavBarLogo() { 

     let logo = UIImage(named: "logo") 
     let logoImageView = UIImageView(image: logo) 

     self.navigationItem.titleView = logoImageView 
    } 
} 
İlgili konular