Ada beberapa ide bagus dalam jawaban yang ada, banyak yang berfungsi sedikit berbeda dan apa yang Anda pilih juga akan bergantung pada perangkat yang Anda targetkan dan jenis tampilan yang ingin Anda capai. UITabBar
terkenal tidak intuitif saat harus menyesuaikan tampilannya, tetapi berikut beberapa trik yang dapat membantu:
1). Jika Anda ingin menghilangkan overlay glossy untuk tampilan yang lebih datar, lakukan:
tabBar.backgroundColor = [UIColor darkGrayColor];
[tabBar.subviews[0] removeFromSuperview];
2). Untuk mengatur gambar khusus ke tombol tabBar lakukan sesuatu seperti:
for (UITabBarItem *item in tabBar.items){
[item setFinishedSelectedImage:selected withFinishedUnselectedImage:unselected];
[item setImageInsets:UIEdgeInsetsMake(6, 0, -6, 0)];
}
Dimana selected
dan unselected
beradaUIImage
objek pilihan Anda. Jika Anda ingin mereka menjadi warna datar, solusi paling sederhana yang saya temukan adalah membuat UIView
dengan yang diinginkan backgroundColor
dan kemudian mengubahnya menjadi a UIImage
dengan bantuan QuartzCore. Saya menggunakan metode berikut dalam kategori di UIView
untuk mendapatkan UIImage
dengan konten tampilan:
- (UIImage *)getImage {
UIGraphicsBeginImageContextWithOptions(self.bounds.size, NO, [[UIScreen mainScreen]scale]);
[[self layer] renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return viewImage;
}
3) Terakhir, Anda mungkin ingin menyesuaikan gaya judul tombol. Melakukan:
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];
}
Ini memungkinkan Anda melakukan beberapa penyesuaian, tetapi masih sangat terbatas. Khususnya, Anda tidak dapat dengan bebas mengubah tempat teks ditempatkan di dalam tombol, dan tidak dapat memiliki warna berbeda untuk tombol yang dipilih / tidak dipilih. Jika Anda ingin membuat tata letak teks yang lebih spesifik, cukup atur UITextAttributeTextColor
menjadi jelas dan tambahkan teks Anda ke dalam selected
dan unselected
gambar dari bagian (2).