Menggunakan jenis kawalan yang salah dalam projek sedia ada:
Bagaimanakah kita boleh menggantikan UITextField
UITextField
替换成UILabel
dengan UILabel
Terima kasihChris
kerana menjelaskan kekeliruan;Label
Jika terdapat banyak antara muka, anda boleh menentukan tag
Klik kanan pada xib atau papan cerita, Buka Sebagai ->
Kaedah 1:
Tulis kelas
CustomTextField
,继承自UITextField
,然后在可视化界面让你的所有UITextField控件
WarisikannyaLumpuhkan semua peristiwa sentuh dalam
CustomTextField
, yang pada asasnya akan berkelakuan sama seperti UILabelCustomTextField
中禁掉所有触摸事件,基本就与UILabel的表现一致了如有必要,重写
UITextField
的系统方法,不调用super方法,例如覆盖掉UIAlertView
Jika perlu, tulis semula kaedah sistemUITextField
dan jangan panggil kaedah super, sebagai contoh Gantikan acara klikUIAlertView
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