iOS Swift - 将目标(选择器)添加到字符串

时间:2015-05-27 21:46:01

标签: ios string swift target hashtag

有没有办法将目标添加到UITextView中的指定单词?例如。 我想从UITextView中添加一个带有哈希标记的单词的目标。 我正在使用一个函数从textview获取带有哈希标记的单词的数组,但我不知道如何将它们添加到目标或点击手势。

2 个答案:

答案 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
    }