Biasanya pada setiap tab a UITabBar
Anda memiliki gambar kecil dan judul yang memberi nama tab. Gambar diposisikan / di tengah ke bagian atas tab untuk mengakomodasi judul di bawahnya. Pertanyaan saya adalah: jika Anda ingin memiliki tabBar hanya dengan gambar dan tanpa judul, adakah cara untuk memindahkan gambar ke bawah sehingga lebih baik berada di tengah tab?
Saya menggunakan (lihat di bawah) saat ini:
[tabBarItem setFinishedSelectedImage:tabSelected withFinishedUnselectedImage:tabUnselected];
tetapi lebih suka menggunakan gambar yang lebih besar tanpa judul, pada saat ini jika saya membuat gambar lebih besar dari sekitar 70 piksel @ 2x, gambar itu mulai merayap di bagian atas UITabBar
sambil menyisakan banyak ruang yang tidak terpakai di bagian bawah.
sumber
Anda juga bisa melakukannya melalui storyboard. Pilih tabbaritem Anda, buka pemeriksa ukuran dan tetapkan insets yang sesuai.
* Didemonstrasikan di Xcode, Versi 7.3.1 (7D1014)
sumber
Buat subkelas dari
UITabBarController
, dan di dalamnyaviewDidLoad
:Cepat 3:
sumber
AppDelegate
juga berfungsi, tetapi tidak jelas lebih baik daripada membuat subkelasnya. Anda dapat memiliki preferensi Anda sendiri :)Jika Anda menggunakan Xamarin, ini berfungsi:
sumber
Ini berhasil untuk saya
Cepat 4
sumber
SWIFT 3.0
Anda dapat mengatur lnsets gambar, mengatur atas, kiri, bawah dan kanan sesuai desing.
sumber
Untuk iOS 11 Anda perlu mengganti metode TraitCollection selain mengatur ImageInsets. Tambahkan metode di kelas UITabBarController subclass Anda
sumber
return UITraitCollection(traitsFrom: [ super.traitCollection, UITraitCollection(horizontalSizeClass: .compact)])
melakukan trik untuk saya.Di Swift 4.2 ,
UIEdgeInsetsMake
itu depricated, sebagai gantinya kita harus menggunakanUIEdgeInsets
,sumber