我正在尝试在文本字段中查找和删除所选文本,但每次都会发出SIGABRT。当我尝试检索selectedTextRange时,我不断收到NSInvalidArgumentException。实际上我测试了它,并且与所选文本有关的每个函数似乎都破坏了应用程序。
[mTextField selectedTextRange];
由于某种原因,即使这行代码本身也是一个无法识别的选择器。我已经仔细检查过我没有使用垃圾数据或任何东西,我可以先获取文本,然后获取所选文本,然后打破它。
答案 0 :(得分:3)
selectedTextRange
只能在iOS5 +上使用。
答案 1 :(得分:1)
由于您使用nstextfield标记了问题,我假设您使用的是NSTextField
(Mac OS X),而不是UITextField
(iOS)。问题是NSTextField
不支持selectedTextRange
消息。 (UITextField
确实支持它。)我认为无法从NSTextField
获得所选范围。
如果您切换为使用NSTextView
,则可以向其发送selectedRanges
消息。
答案 2 :(得分:1)
我认真地认为你不能通过使用UITextField实现这一目标。
但是我想你可以通过实现UITextViewDelegate来做到这一点。您可以在此方法中使用selectedRange属性。
- (void)textViewDidChangeSelection:(UITextView *)textView
顺便说一下,你的问题可能与这个问题有关:
Can I select a specific block of text in a UITextField?
请查看..