2

我正在尝试在文本字段中查找并删除选定的文本,但它每次都是 SIGABRT。当我尝试检索 selectedTextRange 时,我不断收到 NSInvalidArgumentException。事实上,我对其进行了测试,与所选文本有关的每个功能似乎都会破坏应用程序。

[mTextField selectedTextRange];

由于某种原因,甚至那行代码本身也是一个无法识别的选择器。我已经仔细检查过我没有使用垃圾数据或任何东西,我能够先获取文本,然后获取选定的文本,然后将其破坏。

4

3 回答 3

3

selectedTextRange只能在 iOS5+ 上使用。

于 2012-03-09T13:36:46.263 回答
1

由于您使用 nstextfield 标记了您的问题,我假设您使用的是NSTextField(Mac OS X)而不是UITextField(iOS)。问题是NSTextField不支持该selectedTextRange消息。(UITextField确实支持它。)我看不到任何方法可以从NSTextField.

如果您切换到 using NSTextView,您可以向它发送selectedRanges消息。

于 2011-11-03T23:09:58.303 回答
1

我真的不认为你可以通过使用 UITextField 来实现。

但是我认为你可以通过实现 UITextViewDelegate 来做到这一点。您可以在此方法中使用 selectedRange 属性。

- (void)textViewDidChangeSelection:(UITextView *)textView

顺便说一句,您的问题可能与这个问题有关:

我可以在 UITextField 中选择特定的文本块吗?

一定要检查一下。。

于 2011-11-04T03:00:15.197 回答