Tag: uitextview uitextinput

用于UITextField和UITextView的UITextInput协议用法来pipe理崩溃时的select结果

UITextField和UITextView都采用UITextInput协议。 UITextView的selectedRange属性返回NSRange,其中UITextField没有任何select属性/方法。 我想使用一个例程来pipe理UITextField或UITextView的插入。 所以我做了以下几点: id<UITextInput> textInput = nil; if ([self.aTextView isFirstResponder]) { textInput = self.aTextView; } else if ([self.aTextField isFirstResponder]) { textInput = self.aTextField; } if (textInput != nil) { UITextRange * selectedRange = textInput.selectedTextRange; // … } 只有在selectedTextRange属性中,“发送到实例的无法识别的select器”会立即崩溃。 我究竟做错了什么? [编辑:似乎在iOS 5中工作,但在iOS 4设备上崩溃。这是iOS 5中的更改吗? 文档说协议是3.2+。]

animationUITextInput的textInputView

UIKit文本input组件,如UITextView和UITextField有一个属性inputView添加自定义键盘。 我有两个与此有关的问题。 如果键盘当前可见并且属性设置为新的input视图,则不会发生任何事情。 辞职和重获第一响应者状态刷新input并显示新视图。 这是做这件事的最好方法吗? 如果是这样,它可能会回答我更大的问题 是否可以animation两个input视图之间的转换?

我如何以编程方式closuresUITextView中的自动更正的popup窗口?

我正在用insertText:自己完成一些自定义自动完成的东西,但是如果有一个自动insertText:的build议可见的话,那么视图会进入一个奇怪的状态。 如果我使用[textView unmarkText] ,它将closures自动[textView unmarkText]popup窗口thingy – 但它接受autocorrection(这是不好的)。 有没有一种方法来编程拒绝自动更正的build议? 我目前的“解决scheme”是有效的,但是这个方法很笨拙,我没有理由认为它将来会继续工作。 有一个更好的方法吗? – (void)dismissAutocorrectSuggestionForTextView:(UITextView *)textView { NSRange range = textView.selectedRange; textView.text = textView.text; textView.selectedRange = range; }