Bagaimana untuk menggantikan kawalan sedia ada dengan mudah dalam papan cerita iOS?
巴扎黑
巴扎黑 2017-06-24 09:44:22
0
2
1103

Menggunakan jenis kawalan yang salah dalam projek sedia ada:

Bagaimanakah kita boleh menggantikan UITextFieldUITextField替换成UILabel dengan UILabel

tanpa perlu mencipta (seret) kawalan baharu.

Terima kasihChris
kerana menjelaskan kekeliruan;LabelJika terdapat banyak antara muka, anda boleh menentukan tag

dan cari dalam kod untuk mencari kawalan dengan cepat.

🎜
巴扎黑
巴扎黑

membalas semua(2)
淡淡烟草味

Klik kanan pada xib atau papan cerita, Buka Sebagai ->

为情所困

Kaedah 1:
Tulis kelasCustomTextField,继承自UITextField,然后在可视化界面让你的所有UITextField控件Warisikannya

Lumpuhkan semua peristiwa sentuh dalam CustomTextField, yang pada asasnya akan berkelakuan sama seperti UILabel CustomTextField中禁掉所有触摸事件,基本就与UILabel的表现一致了
如有必要,重写UITextField的系统方法,不调用super方法,例如覆盖掉UIAlertViewJika perlu, tulis semula kaedah sistem UITextField dan jangan panggil kaedah super, sebagai contoh Gantikan acara klik UIAlertView

-(void)dismissWithClickedButtonIndex:(NSInteger)buttonIndex animated:(BOOL)animated{
//    [super dismissWithClickedButtonIndex:buttonIndex animated:animated];
    return;
}

Kaedah 2:
Tambah UITextField的分类扩展,然后利用runtime的method swizzling交换系统方法,这样你所有的UITextField dan ia akan menjadi sama seperti UILabel. . . Gunakan dengan berhati-hati! ! !

Akhir sekali, jika anda mempunyai masa lapang ini, lebih mudah untuk memadam dan menggantikannya satu demi satu

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan