Bugünkü eğlencemiz bir öncekine çok benziyor. Ancak bu sefer label ya da button gibi sık kullanılan öğelerle değil hep gözümüzün önünde olsa da pek dikkatimizi çekmeyen navigasyon çubuğuyla (UINavigationBar) oynayacağız.
UINavigationItem’ın ayarları native uygulama görünümü istemediğimiz bir çok uygulama için yetersiz kalıyor. Bu noktada NavigationItem’ın title property’sini bir kenara bırakıp ilgimizi titleView property’si üzerine yoğunlaştırıyoruz. titleView property’sine değer olarak herhangi bir UIView nesnesi verebiliyorsunuz, bu örnekte UILabel kullanacağım ancak biraz egzersizle farklı fontlar kullanarak yazı yazabilirsiniz
Değişik renkli başlıkları farklı view controller’larda kullanabileceğimizi düşünerek verdiğimiz metni bir label’ın içine yazıp bize o label’ı döndüren bir fonksiyon yazarak başlıyoruz.
+ (UILabel *) labelForNavigationItem:(NSString*) text
{
UILabel *titleView = [[[UILabel alloc] initWithFrame:CGRectMake(0, 0, 120, 30)] autorelease];
[titleView setFont:[UIFont boldSystemFontOfSize:16.0]];
titleView.backgroundColor = [UIColor clearColor];
titleView.textAlignment = UITextAlignmentCenter;
titleView.textColor = [UIColor colorWithRed:.80784314 green:.77647079 blue:.50980392 alpha:1.0];
titleView.textColor = [UIColor whiteColor];
titleView.text = text;
return titleView;
}
İlgili view controller’ın viewDidLoad methodu içinde navigationItem’ın titleView property’sine değer atayarak işimizi bitiriyoruz.
self.navigationItem.titleView = labelForNavigationItem:@"Menu";
labelForNavigationItem fonksiyonunu zenginleştirmek ve yazınıza görsellik katmak size kalmış.
UILabel kullandığım bir örnek:
Başka bir uygulamada UILabel yerine UIImageView kullandım, demem o ki diğer UIView nesnelerine ihtiyacınız olduğunda hiç çekinmeyin bu kodlarda birkaç değişiklik yaparak sorunsuzca kullanılabiliyor.
Bu yazının puanları da Sergio Morales‘e gidiyor.

















