1

我试图按照这篇文章在我的 UITextView 中获取某个单词的像素位置,但是下面的代码:

UITextPosition *beginning = cell.textView.beginningOfDocument;

导致我的应用程序崩溃(似乎仅在 iOS4 中,但根据文档UITextInput beginningOfDocument应该从 iOS3.2 开始可用)。我尝试调试问题并获得以下输出:

(gdb) po cell
<ReadTableViewCell: 0x1bf25d60; baseClass = UITableViewCell; frame = (0 0; 320 44); userInteractionEnabled = NO; tag = 1248776; layer = <CALayer: 0x1bf25d20>>
(gdb) po [cell textView]
<UITextView: 0x1bf26810; frame = (5 4; 309 121); text = 'Subject Header

Detailed Content...'; clipsToBounds = YES; layer = <CALayer: 0x1bf26650>; contentOffset: {0, 0}>
(gdb) po [[cell textView] beginningOfDocument]
Target does not respond to this message selector.
(gdb)

有人可以给我一些提示如何解决或避免这种情况吗?提前致谢!!

4

1 回答 1

1

UITextInput 从 iOS3.2 开始肯定是可用的,但遗憾的是 UITextView 从 iOS5.0 开始符合 UITextInput。它曾经使用 UITextInputTraits 协议。

在这个线程中有一些关于如何调整以在 iOS4 上工作的更多信息:

iOS 4.3 中的 UITextView beginOfDocument 问题

于 2013-01-30T17:11:43.917 回答