Mevcut cevaplarda bazı iyi fikirler var, birçoğu biraz farklı çalışıyor ve ne seçeceğiniz, hangi cihazları hedeflediğinize ve ne tür bir görünüm elde etmeyi hedeflediğinize bağlı olacaktır. UITabBar
görünüşünü özelleştirmeye geldiğinde herkesin bildiği gibi mantıksız, ancak işte yardımcı olabilecek birkaç püf noktası:
1). Daha düz bir görünüm için parlak kaplamadan kurtulmak istiyorsanız şunları yapın:
tabBar.backgroundColor = [UIColor darkGrayColor];
[tabBar.subviews[0] removeFromSuperview];
2). Özel görüntüleri tabBar düğmelerine ayarlamak için aşağıdaki gibi bir şey yapın:
for (UITabBarItem *item in tabBar.items){
[item setFinishedSelectedImage:selected withFinishedUnselectedImage:unselected];
[item setImageInsets:UIEdgeInsetsMake(6, 0, -6, 0)];
}
Nerede selected
ve unselected
Hangi UIImage
seçtiğiniz nesneler. Düz bir renk olmasını isterseniz, bulduğum en basit çözüm UIView
, istenen ile bir tane oluşturmak backgroundColor
ve ardından onu UIImage
QuartzCore yardımıyla sadece bir a haline getirmek. Görünümün içeriğiyle UIView
bir almak için bir kategoride aşağıdaki yöntemi kullanıyorum UIImage
:
- (UIImage *)getImage {
UIGraphicsBeginImageContextWithOptions(self.bounds.size, NO, [[UIScreen mainScreen]scale]);
[[self layer] renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return viewImage;
}
3) Son olarak, düğmelerin başlıklarının stilini özelleştirmek isteyebilirsiniz. Yapmak:
for (UITabBarItem *item in tabBar.items){
[item setTitleTextAttributes: [NSDictionary dictionaryWithObjectsAndKeys:
[UIColor redColor], UITextAttributeTextColor,
[UIColor whiteColor], UITextAttributeTextShadowColor,
[NSValue valueWithUIOffset:UIOffsetMake(0, 1)], UITextAttributeTextShadowOffset,
[UIFont boldSystemFontOfSize:18], UITextAttributeFont,
nil] forState:UIControlStateNormal];
}
Bu, bazı ayarlamalar yapmanızı sağlar, ancak yine de oldukça sınırlıdır. Özellikle, metnin düğme içinde nereye yerleştirileceğini özgürce değiştiremezsiniz ve seçili / seçilmemiş düğmeler için farklı renklere sahip olamazsınız. Daha spesifik bir metin düzeni yapmak istiyorsanız, sadece UITextAttributeTextColor
net olacak şekilde ayarlayın ve metninizi bölüm (2) 'den selected
ve unselected
resimlerine ekleyin .