有没有办法将目标添加到UITextView中的指定单词?例如。 我想从UITextView中添加一个带有哈希标记的单词的目标。 我正在使用一个函数从textview获取带有哈希标记的单词的数组,但我不知道如何将它们添加到目标或点击手势。
答案 0 :(得分:5)
您可以使用属性字符串在文本视图中设置文本。该字符串使用链接属性(NSLinkAttributeName
与您选择的URL值)在目标哈希标记词的范围内。您需要在文本中搜索带有哈希标记的单词并添加相应的链接属性。您可能希望创建链接URL以具有自定义方案,并包含有关带有哈希标记的单词的信息。当点击其中一个链接时,您将从文本视图中获得一个委托回调。
答案 1 :(得分:1)
我最近有同样的问题,我找到了一个符合我需求的解决方案。这不完美,但也许会有所帮助:
我决定在目标元素周围使用特定样式的整个文本按钮。在用户体验方式中,用户可能倾向于触摸样式化的单词。
@IBOutlet weak var stringBtn: UIButton!
override func viewWillAppear(animated: Bool) {
let string = "string with #tag" as NSString
var attributedString = NSMutableAttributedString(string: string as String)
let firstAttributes = [NSUnderlineStyleAttributeName: 1, NSForegroundColorAttributeName: UIColor.whiteColor()]
attributedString.addAttributes(firstAttributes, range: string.rangeOfString("#tag"))
stringBtn.setAttributedTitle(attributedString, forState: .Normal)
//Add target to your button
}