打开和关闭autocorrectionType(UITextView)

时间:2013-11-19 16:50:30

标签: ios objective-c uitextview autocorrect

我有一个UITextView,我希望能够切换autocorrectionType。

简单地切换这样的autocorrectionType不起作用。

myTextView.autocorrectionType = UITextAutocorrectionTypeYes;
myTextView.autocorrectionType = UITextAutocorrectionTypeNo;

我用过

myTextView.text = myTextView.text;

[myTextView insertText:@" "];
[myTextView deleteBackward];

[myTextView setNeedsDisplay];

这些都不起作用......

2 个答案:

答案 0 :(得分:1)

当您更改此类属性(包括键盘类型)时,您通常需要“启动”该过程

// Original
myTextView.autocorrectionType = UITextAutocorrectionTypeYes;

... //时间过去了

// Now want to change
myTextView.autocorrectionType = UITextAutocorrectionTypeNo;
BOOL bogusKeyboardMotion = YES; // ivar
[myTextView resignFirstResponder];
[myTextView becomeFirstResponder];
bogusKeyboardMotion= NO;

然后忽略委托方法中的任何委托消息。也许将委托设置为nil然后将其设置回来也可以。

答案 1 :(得分:0)

它只能用于这样的

NSString* textDirty=textContainerView.text;
    textContainerView.text=@"";
    textContainerView.text=textDirty;

但我想要一个更清洁的解决方案......另外,它只对用户输入的新文本进行拼写检查,而不是整个uitextview文本..