无法在 UITextView 中使 URL 可点击
Posted
技术标签:
【中文标题】无法在 UITextView 中使 URL 可点击【英文标题】:Can't make URL clickable in UITextView 【发布时间】:2013-01-01 11:03:50 【问题描述】:我正在使用 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 时没有任何反应。我错过了什么?
--更新--
尝试添加 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;
【问题讨论】:
投反对票吧?很想知道为什么。 【参考方案1】:选中文本视图中的“可选”和“链接”复选框属性检查器:
【讨论】:
self.selectable = true @AntonTropashko 实际上故事板编辑器中有一个按钮。它在属性检查器中。【参考方案2】:尝试使用这个希望对你有所帮助
默认情况下,UITextView
中的链接不可点击。但幸运的是,只需几行简单的代码即可启用它们:
self.review.editable = NO;//required
self.review.selectable = YES;//required
self.review.dataDetectorTypes = UIDataDetectorTypeLink;
很遗憾,您不能拥有带有可点击链接的可编辑UITextView
。如果将 editable 设置为 YES,则所有链接都将被视为常规文本。
编辑
你有没有正确检查它可能在你的 .xib 文件中禁用了 UITextview。
【讨论】:
谢谢。添加了self.review.editable = NO;
(已经有其他部分),但仍然无法正常工作。尝试在设置视图 text
之前和之后添加这些代码行。
@Madbreaks 让你正确检查它可能是 UITextview 在你的 .xib 文件中禁用。
问题是 User Interaction Enabled
没有在 IB 的 Attributes Inspector 的 View 部分底部检查。感谢您让我走上正轨!
注意,你必须有textView.selectable = YES;
才能工作!【参考方案3】:
问题在于 User Interaction Enabled
未在 IB 属性检查器的视图部分底部检查。
【讨论】:
你让我开心!以上是关于无法在 UITextView 中使 URL 可点击的主要内容,如果未能解决你的问题,请参考以下文章
在 swift 中使 URL 链接属性和可点击以及可编辑的 Textview
是否有机会确定是否在 UITextView 中点击了空白空间?