在已有项目中使用了错误的控件类型:
怎么能方便的将UITextField
替换成UILabel
,而不用新建(拖)一个控件。
感谢Chris的解惑;
如果界面很多,可以指定Label
标记,在代码里搜索来快速定位到控件.
淡淡烟草味2017-06-24 09:46:22
右键xib或storyboard, Open As -> Source Code . 找到textField,修改为label. 再用interface builder打开就可以了, 修改后会保留原来的约束和Frame.
为情所困2017-06-24 09:46:22
法一:
写一个类CustomTextField
,继承自UITextField
,然后在可视化界面让你的所有UITextField控件
继承它
在CustomTextField
中禁掉所有触摸事件,基本就与UILabel的表现一致了CustomTextField
中禁掉所有触摸事件,基本就与UILabel的表现一致了
如有必要,重写UITextField
的系统方法,不调用super方法,例如覆盖掉UIAlertView
如有必要,重写UITextField
的系统方法,不调用super方法,例如覆盖掉UIAlertView
的点击事件
-(void)dismissWithClickedButtonIndex:(NSInteger)buttonIndex animated:(BOOL)animated{
// [super dismissWithClickedButtonIndex:buttonIndex animated:animated];
return;
}
法二:
增加UITextField
的分类扩展,然后利用runtime的method swizzling交换系统方法,这样你所有的UITextField
就会变得跟UILabel一样了。。。慎用!!!
最后总结,有这闲工夫不如还是一个一个删掉替换容易些