Saya mencoba menerapkan UITabBar
dan sekarang saya tidak dapat mengambil panggilan balik dari suatu metode ketika suatu item dipilih. Apakah ada kemungkinan untuk membuat @IBAction func
saja? Atau apakah saya perlu melakukan hal lain?
Swift UITabBarItem sebagai UIButton
comment
kemungkinan duplikat Dapatkan panggilan balik/ mengeksekusi beberapa kode ketika tab pada Tab Bar diklik
- person nhgrif   schedule 17.08.2015
Jawaban (3)
Untuk mengimplementasikan tombol UITabBar, pengontrol tampilan Anda harus sesuai dengan protokol UITabBarDelegate. Anda perlu menerapkan:
Cepat:
func tabBar(_ tabBar: UITabBar, didSelectItem item: UITabBarItem!)
Tujuan-c:
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
Anda juga perlu mengatur delegasi (tabBar.delegate = self) di viewDidLoad ViewController Anda
Sunting: Jawaban Swift 3:
func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem) {
}
person
Floris M
schedule
17.08.2015
Pengontrol tampilan Anda harus mematuhi UITabBarDelegate
dan menerapkan:
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item;
Metode ini dipanggil ketika pengguna memilih tab (yaitu UITabBarItem
).
person
Adam Waite
schedule
17.08.2015
Apakah saya harus memanggil metode ini secara eksplisit dalam kode atau ketika saya mengimplementasikannya ke dalam UITabBarDelegate apakah metode ini akan dipanggil secara otomatis?
- person Luca Archidiacono; 17.08.2015
UITabBar akan mengirimkan pesan ini ke delegasinya ketika pengguna memilih tab.
- person Adam Waite; 17.08.2015
class MyClass: UITabBarItem, UITabBarDelegate {
class MyClass: UITabBar, UITabBarControllerDelegate, UITabBarDelegate {
Penerapan manakah yang benar? Apakah pengkodean ini juga benar: func tabBar(tabBar: UITabBar, didSelectItem item: UITabBarItem) {
FYI Saya memutus kelas default dan menghubungkan dengan kelas khusus baru dan masih tidak berfungsi (di main.storyboard
).
- person Luca Archidiacono; 17.08.2015
Mengapa Anda membuat subkelas UITabBarItem?
- person Adam Waite; 17.08.2015
Item bilah tab tidak boleh menjadi delegasi ke bilah tab yang ada. Anda mungkin memasukkan diri Anda ke dalam siklus penyimpanan.
- person nhgrif; 17.08.2015
@AdamWaite Saya baru mulai memprogram Swift 1 atau 2 minggu yang lalu jadi saya tidak tahu bahwa saya sedang membuat subkelas. Bagaimana cara memperbaikinya?
- person Luca Archidiacono; 17.08.2015
@nhgrif apa maksudmu dengan itu? bagaimana saya harus melakukannya lagi? Biarkan di kelas default? - Aku tidak memahaminya dengan jelas
- person Luca Archidiacono; 17.08.2015
Saya pikir Anda perlu mendapatkan buku dan mempelajari dasar-dasarnya sebelum melakukan hal lain.
- person Adam Waite; 17.08.2015
Saya akhirnya memecahkan masalahnya. Saya mengalami beberapa masalah dengan kelas Delegator dan kelas normal. Ini memperbaiki masalah saya: tabBar.delegate = self
di kelas Pengendali Utama
person
Luca Archidiacono
schedule
17.08.2015