物料设计组件pada iOS:选项卡

Adapun Komponen 材料设计 Yang Akan Kita Bahas Pada Tulisan Kali Ini Adalah Tabs 。 Android的Seperti halnya komponen-komponen yang sudah kita bahas sebelumnya和Tabs juga merupakan komponen yang sudah sangat常见的Android应用程序。

Pertama kita perlu menambahkandependecy pada Podfile kita。

  pod'MaterialComponents / Tabs' 

Setelah melakukan perintah 吊舱安装 ,kita akan bisa menggunakan sebuah类yang bernama MDCTabBar 。 Dan Untuk Mulai Menggunakan MDCTabBar bisa kita lakukan seperti contoh kode berikut:

   tabBar = MDCTabBar() 
tabBar.translatesAutoresizingMaskIntoConstraints = false
tabBar.items = [
UITabBarItem(title:“ Tweets”,image: nil ,selectedImage: nil ),
UITabBarItem(title:“ Media”,image: nil ,selectedImage: nil ),
UITabBarItem(title:“ Likes”,image: nil ,selectedImage: nil
]
tabBar.barTintColor =。灰色
tabBar.alignment =。 中央
view.addSubview(tabBar)
指南= view.safeAreaLayoutGuide
NSLayoutConstraint.activate([
tabBar.topAnchor.constraint(equalTo:guide.topAnchor),
tabBar.leadingAnchor.constraint(equalTo:guide.leadingAnchor),
tabBar.trailingAnchor.constraint(equalTo:guide.trailingAnchor),
])

Dan Dengan Kode diatas kita akan mendapatkan hasil seperti berikut:

Bisa kita lihat background- nya berwarna阿布阿布( 灰色 )dikarenakan nilai yang kita berikan pada 属性 barTintColor 。 丹对齐 dari 选项卡, 视图,卡雷娜·基塔memberikan nilai 中心 pada 属性 对齐 。 Masih ada beberapa 房地产 Yang Bisa kita atur sesuai kebutuhan kita。

Misalnya,untuk menentukan warna terhadap tab yang sedang kita pilih bisa kita lakukan dengan kode berikut:

  tabBar.selectedItemTintColor = .dark灰色 

Sedangkan sebaliknya untuk menentukan warna dari item yang tidak sedang kita pilih bisa kita lakukan dengan kode berikut:

  tabBar.unselectedItemTintColor = .white 

Kemudian untuk mengatur jenis 字体 untuk item yang sedang dipidh dan sebaliknya untuk item yang sedang tidak dipilih,bisa dilakukan dengan kode berikut:

  tabBar.selectedItemTitleFont = .boldSystemFont(ofSize:13) 
tabBar.unselectedItemTitleFont = .systemFont(ofSize:13)

Dan untuk mengatur warna dari garis indikator yang ada pada gambar sebelumnya bisa dilakukan dengan cara berikut:

  tabBar.tintColor = .black 

Hasil dari penambahan kode-kode diatas adalah seperti berikut:

Selain warna dan字体kita juga memberikan nilai yang berbeda terhadap 属性 alignment yang mana sebelumnya kita beri nlai center 。 Ada 4 Opsi Yang Tersedia

  • 领先 :Rata kiri
  • 中心 :Rata tengah(Seperti contoh di atas)
  • centerSelected:Rata tengah menyesuaikan dengan item yang sedang dipilih
  • 有道理 :Menyesuaikan dengan lebar kontainer。

财产 berikut yang bisa kita manfaatkan untuk mendapatkan tampilan tab yang lebih menarik adalah item 外观 yang berguna untuk menentukan konten dari tab kita。 属性 Menerima Nilai Berupa MDCTabBarItemAppearance Yang Tak Lain Adalah enumerasi yang memiliki 3 opsi。

  • 标题 :Hanya menampilkan文字。 默认为 Pilihan,另外一个为默认值
  • 图片 :Hanya menampilkan图片
  • titledImages :Menampilkan图片文字。

Unituk menambahkan image pada tiap tab kit tinggal memberikan UIImage pada parameter image pada saat kita membuat UITabBarItem 。 Pada contoh sebelumnya kita hanya memberikan nilai nil。

  //之前 
UITabBarItem(title:“ Tweets”,image: nil ,selectedImage: nil )//之后
tweetsIcon = UIImage(named:“ ic_tweets”)
UITabBarItem(title:“ Tweets”,image:tweetsIcon,selectedImage: nil

Berikut contoh untuk tipe images 标题为 Images的图片

Berikutnya kita akan mencoba berinteraksi dengan Tab bar dan mendapatkan information apapakah yang sedang kita pilih。 Pertama kita perlu menentukan 代表 dari 实例 tabBar yang kita buat sebelumnya。

  tabBar.delegate = 自我 

Kemudian kita harus menambahkan Implementasi dari协议MDCTabBarDelegate 。 Yang mana protocol ini memiliki 3 fungsi dan semuanya opsional。

  func tabBar(_ tabBar:MDCTabBar,shouldSelect item:UITabBarItem)-> Bool {} func tabBar(_ tabBar:MDCTabBar,willSelect item:UITabBarItem){} func tabBar(_ tabBar:MDCTabBar,didSelect item:UITabBarItem){} 

Fungsi pertama kita gunakan untuk menentukan apakah项目yang akan dipilih oleh用户(misalnya melalui event klik)bisa dipilih atau tidak。 Yang kedua akan 触发 ketika用户hendak memilih 选项卡。 Dan yang ketiga akan 触发 ketika用户telah memilih选项卡。

Pada contoh berikut saya akan menggunakan fungsi yang ketiga untuk mengetahui tab manakah yang dipilih oleh用户

  扩展 TabBarViewController:MDCTabBarDelegate { 
func tabBar(_ tabBar:MDCTabBar,didSelect item:UITabBarItem){
label.text = item.title ?? “未知”
}
}

Dan Hasilnya seperti berikut:

Demikian tulisan singkat tentang MDCTabBar ini。 Semoga bermanfaat。

Terima Kasih。