42

我正在使用 Interface Builder 来布局我的应用程序。我有一个包含一些文本的 UITextView,其中一部分是我希望使其可点击的 URL(例如启动浏览器)。我已经阅读了如何执行此操作并相信我做得正确,但是当 URL 显示为蓝色/可单击时,在 iPhone 模拟器中单击它不起作用。什么都没发生。

我的控制器:

@interface FirstViewController : UIViewController <UISearchBarDelegate>
@property (nonatomic, retain) IBOutlet UITextView *review;
@end

在我的实现中我@synthesize review;(并且能够操纵视图的文本,所以不要认为这是问题)。

在IB我有:

IB设置

..然后当我去设置文本(并尝试使视图中的 URL 可点击)时,我会:

self.review.text = content;
// My understanding is that this makes URLs clickable...
self.review.dataDetectorTypes = UIDataDetectorTypeLink;

...显示如下:

模拟器输出

...这看起来真的很想工作,但是单击 URL 时没有任何反应。我错过了什么?

- 更新 -

尝试添加self.review.editable = NO;以响应 Dixit Patel 的回答,但它没有解决问题:

self.review.text = content;
// My understanding is that this makes URLs clickable...
self.review.editable = NO; 
self.review.dataDetectorTypes = UIDataDetectorTypeLink;
4

3 回答 3

61

检查 textview Attributes Inspector中的“Selectable”和“Links”复选框:

在此处输入图像描述

于 2013-12-02T17:42:32.923 回答
33

尝试使用这个希望这对你有帮助

默认情况下,链接是不可点击的UITextView。但幸运的是,只需几行简单的代码就可以启用它们:

self.review.editable = NO;//required
self.review.selectable = YES;//required
self.review.dataDetectorTypes = UIDataDetectorTypeLink;

不幸的是,您无法使用可UITextView点击的链接进行编辑。如果将 editable 设置为 YES,则所有链接都将被视为常规文本。

编辑

你有没有正确检查它可能在你的 .xib 文件中禁用了 UITextview。

于 2013-01-17T20:00:35.307 回答
15

问题是User Interaction Enabled没有在 IB 属性检查器的视图部分底部检查。

于 2013-12-03T20:00:33.623 回答