在一个 swift iOS 应用程序中,我设置了一个带有 NSAttributedString 的 UILabel。 AttributedString 包含一个用
设置的 URL[NSLinkAttributeName:NSURL(string:urlStr)!].
一切看起来都很好,这意味着 URL 已明确设置,但当我点击它时没有任何反应。
我应该做些什么来使 URL 按预期工作(即启动 Safari)?
我尝试了以下但它根本没有效果。
theLabel.userInteractionEnabled = true
最佳答案
NSLinkAttribute 不适用于 UILabel,因为处理程序方法将仅响应 UItextViewDelegate。
您可以使用。 TTTAttributedLabel或者可以使用 UITextView 替换 UILabel。替换后同样使用
- (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)URL inRange:(NSRange)characterRange
并且不要忘记检查检测和行为属性。
关于ios - 带有 URL 的 NSAttributedString 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31937116/