ios - 显示 textView 标签并使用动态 URL 使其可点击
问题描述
我有一个textView
应该总是相同的text
:“Link öffnen”。这是我到目前为止得到的:
let linkLabel: UITextView = {
let v = UITextView()
v.backgroundColor = .clear
v.textAlignment = .left
v.isSelectable = false
v.isScrollEnabled = false
let padding = v.textContainer.lineFragmentPadding
v.textContainerInset = UIEdgeInsets(top: 0, left: -padding, bottom: 0, right: -padding)
v.attributedText = NSAttributedString(string: "Link öffnen", attributes:
[.underlineStyle: NSUnderlineStyle.single.rawValue,
NSAttributedString.Key.font: UIFont(name: "AvenirNext-Medium", size: 15)!,
NSAttributedString.Key.foregroundColor: UIColor.darkCustom])
v.translatesAutoresizingMaskIntoConstraints = false
return v
}()
它textView
准确地显示了我想要的方式。现在缺少的是clickable
功能。这textView
是在 a 内tableViewCell
,它应该是可点击的,并且每个都应该打开一个url
保存在cell
. 我知道我可以使用SFSafariViewController
例如。问题是使textView
可点击。在这里执行此操作的最简单/最佳实践方法是什么?
解决方案
对于解决此问题的真正干净的方法,请尝试ActiveLabel非常适合链接主题标签和 textView 中的提及。也很容易定制。
推荐阅读
- flutter - 我在哪里放置我的代码以使用 flutter_form_builder 预填充表单构建
- html - 如何从运行在 Kubernetes pod 中的浏览器访问文件?
- javascript - iOS Chrome 和 Safari 中忽略了画布剪辑和不透明度
- javascript - window.chrome.webview.addEventListener 与 document.addEventListener
- google-cloud-platform - 如何在 GCP 中为项目添加权限?
- node.js - 如何在 Node.js 中使用 pino 自定义级别添加日志记录级别
- oracle - 如何在两个日期之间在oracle sql中获取从第一个月到当前日期的数据
- api - 我想执行一个没有表单数据的 PUT 方法调用的 URI
- tsql - 在展开字段上连接表
- c# - 为什么 Linq2Db 不能“看到”一个 Oracle 表?