无法在UITextView中进行URL可点击

Mad*_*aks 37 url interface-builder uitextview clickable ios

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

我的控制器:

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

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

在IB我有:

IB设置

..然后,当我去设置文本(并尝试在视图中点击可用的URL)时,我这样做:

self.review.text = content;
// My understanding is that this makes URLs clickable...
self.review.dataDetectorTypes = UIDataDetectorTypeLink;
Run Code Online (Sandbox Code Playgroud)

......显示如下内容:

模拟器输出

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

--UPDATE--

尝试添加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;
Run Code Online (Sandbox Code Playgroud)

Ign*_*ers 55

检查textview Attributes Inspector中的"可选"和"链接"复选框:

在此输入图像描述


Dix*_*tel 28

试着用这个希望对你有所帮助

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

self.review.editable = NO;
self.review.selectable = YES;//required
self.review.dataDetectorTypes = UIDataDetectorTypeLink;
Run Code Online (Sandbox Code Playgroud)

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

编辑

如果你正确检查它可能是你的.xib文件中的UITextview禁用.

  • @Madbreaks你正确检查它可能是你的.xib文件中的UITextview禁用. (2认同)

Mad*_*aks 15

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