Ios 打开和关闭自动更正类型(UITextView)
我有一个UITextView,我希望能够为其切换自动更正类型 像这样简单地切换自动更正类型是行不通的Ios 打开和关闭自动更正类型(UITextView),ios,objective-c,uitextview,autocorrect,Ios,Objective C,Uitextview,Autocorrect,我有一个UITextView,我希望能够为其切换自动更正类型 像这样简单地切换自动更正类型是行不通的 myTextView.autocorrectionType = UITextAutocorrectionTypeYes; myTextView.autocorrectionType = UITextAutocorrectionTypeNo; 我用过 myTextView.text = myTextView.text; 及 及 这些都不管用…它只适用于这样的东西 NSString* textD
myTextView.autocorrectionType = UITextAutocorrectionTypeYes;
myTextView.autocorrectionType = UITextAutocorrectionTypeNo;
我用过
myTextView.text = myTextView.text;
及
及
这些都不管用…它只适用于这样的东西
NSString* textDirty=textContainerView.text;
textContainerView.text=@"";
textContainerView.text=textDirty;
但我想要一个更干净的解决方案。。。另外,它只对用户输入的新文本应用拼写检查,而不是对整个uitextview文本应用拼写检查。当您更改这些属性(包括键盘类型)时,通常需要“启动”该过程
// Original
myTextView.autocorrectionType = UITextAutocorrectionTypeYes;
…//时光流逝
// Now want to change
myTextView.autocorrectionType = UITextAutocorrectionTypeNo;
BOOL bogusKeyboardMotion = YES; // ivar
[myTextView resignFirstResponder];
[myTextView becomeFirstResponder];
bogusKeyboardMotion= NO;
然后忽略委托方法中的任何委托消息。也许将代理设置为零,然后再将其设置回原来的值也会起作用。你能解释一下你说“它不起作用”是什么意思吗。当UITextAutocorrectionTypeNo时,文本保持带下划线的红点…我想删除它。。我也在做这个textContainerView.autocorrectionType=UITextAutocorrectionTypeNo;textContainerView.spellCheckingType=UITextSpellCheckingTypeNo;您编写的第一大段代码是正确的。这听起来更像是你把它放在哪里的问题。当我改变这些习惯时,键盘不是第一反应器,所以这不是因为这个。这些选项位于新的viewcontroller中,因此键盘始终处于关闭状态。。。看看我的答案。。
// Original
myTextView.autocorrectionType = UITextAutocorrectionTypeYes;
// Now want to change
myTextView.autocorrectionType = UITextAutocorrectionTypeNo;
BOOL bogusKeyboardMotion = YES; // ivar
[myTextView resignFirstResponder];
[myTextView becomeFirstResponder];
bogusKeyboardMotion= NO;