我有一个Xcode项目,我想为名称制作一个动作标签,类似于提及(@)和hashtags(#)标签,其中加粗,我可以按下它,它会将我发送到另一个视图控制器。我已经为此搜索了一下,并且只发现了用于提及和标签的可可豆荚。 如何实施?
示例:" Mark Smith 喜欢你的照片。"然后我就可以按下#Mark; Mark Smith"它会把我发给他的个人资料。
答案 0 :(得分:1)
也许你可以用UITextView替换UILabel,运行这个简单的代码:
`func addLinkLabel() {
let textView = UITextView.init(frame: CGRect.init(x: 10, y: 150, width: 400, height: 100))
self.view.addSubview(textView)
let attributedString = NSMutableAttributedString.init(string: "Touch me,you'll be sent to another ViewController.")
attributedString.addAttribute(NSLinkAttributeName, value: "aa", range: NSRange.init(location: 0, length: 8))
textView.attributedText = attributedString
textView.font = UIFont.systemFont(ofSize: 17)
textView.linkTextAttributes = [NSFontAttributeName:UIFont.boldSystemFont(ofSize: 20),
NSForegroundColorAttributeName:UIColor.red]
textView.isEditable = false
textView.delegate = self;
}
func textView(_ textView: UITextView, shouldInteractWith URL: URL, in characterRange: NSRange, interaction: UITextItemInteraction) -> Bool {
if String(describing: URL) == "aa" {
print("Here we go...")
self.navigationController?.pushViewController(SecondViewController(), animated: true)
return true
}
return false
}
`