我正在使用Interface Builder来布局我的应用。我有一个包含一些文本的UITextView,其中一部分是我想要点击的URL(例如启动浏览器)。我已经阅读了如何做到这一点,并相信我正确地做到了,但是当URL显示为蓝色/可点击时,在iPhone模拟器中单击它不起作用。没有任何事情发生。
我的控制器:
@interface FirstViewController : UIViewController <UISearchBarDelegate>
@property (nonatomic, retain) IBOutlet UITextView *review;
@end
在我的实现中我@synthesize review;
(并且能够操纵视图的文本,所以不要认为这是问题)。
在IB中我有:
..然后我去设置文本(并尝试在视图中点击可用的URL)我这样做:
self.review.text = content;
// My understanding is that this makes URLs clickable...
self.review.dataDetectorTypes = UIDataDetectorTypeLink;
...显示的内容如下:
...它看起来真的想要工作,但是当点击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;
答案 0 :(得分:54)
检查textview 属性检查器中的“可选”和“链接”复选框:
答案 1 :(得分:27)
尝试使用此希望对您有所帮助
默认情况下,UITextView
中的链接无法点击。但幸运的是,它们可以通过几行简单的代码启用:
self.review.editable = NO;
self.review.selectable = YES;//required
self.review.dataDetectorTypes = UIDataDetectorTypeLink;
很遗憾,您无法使用可点击的链接创建可编辑的UITextView
。如果将editable设置为YES,则所有链接都将被视为常规文本。
修改强>
如果您正确检查,可能是.xib文件中的UITextview禁用。
答案 2 :(得分:15)
问题是未在IB的属性检查器的视图部分底部检查User Interaction Enabled
。