我想在我的应用程序中的所有文本字段上禁用自动更正。我知道UITextField上的autocorrectionType
属性。但是,当我开始开发应用程序时,我没有将UITextField子类化。所以我正在寻找一种解决方案,通过一行代码在我的所有TextField上禁用自动更正。
我尝试使用适用于键盘外观的[UITextField appearance]
:
[[UITextField appearance] setKeyboardAppearance:UIKeyboardAppearanceDark];
但不是自动更正,因为以下代码行:
[[UITextField appearance] setAutocorrectionType:UITextAutocorrectionTypeNo];
导致不一致异常:
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Please file a radar on UIKit if you see this assertion.'
答案 0 :(得分:1)
我建议使用子类 UITextField :
@interface CustomTextField : UITextField
@end
@implementation CustomTextField
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
[self setAutocorrectionType:UITextAutocorrectionTypeNo];
// same way add all the generalize properties which you require for all the textfields.
}
return self;
}
现在在整个项目中使用 CustomTextField (在代码或故事板中)。
希望这有帮助。