Sof*_*LLC 3 uitextfield uitextview ios uitextinput
UITextField和UITextView都采用UITextInput协议.UITextView的selectedRange属性返回NSRange,其中UITextField没有任何选择属性/方法.我想使用一个例程来管理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;
// ...
}
Run Code Online (Sandbox Code Playgroud)
只是在selectedTextRange属性上立即崩溃"无法识别的选择器发送到实例".
我究竟做错了什么?
[编辑:似乎在iOS 5中工作,但在iOS 4中的设备上崩溃.这是iOS 5中的变化吗?文件说协议是3.2+.]
我在自己的应用程序中验证了UITextView和UITextField都-[UITextView selectedTextRange]: unrecognized selector在iOS 4模拟器中崩溃,但不是iOS 5模拟器.
这个问题的答案表明,与UITextInput的一致性是iOS 5中的新功能:我可以在UITextField中选择特定的文本块吗?.因此,协议本身似乎是iOS 3.2,但UITextView/Field在iOS 5之前没有使用该协议.
| 归档时间: |
|
| 查看次数: |
4431 次 |
| 最近记录: |