ios - 文本上的操作标签

标签 ios swift xcode swift3 uilabel

我有一个 Xcode 项目,我想在其中为类似于提及 (@) 和主题标签 (#) 标签的名称制作一个 Action 标签,其中它是粗体的,我可以按下它,它会将我发送到另一个 View Controller .我已经四处搜索了这个,只找到了用于提及和标签的 cocoa pod 。 我该如何实现?

示例:“Mark Smith 喜欢你的照片。”然后我就可以按“Mark Smith”,它会将我转到他的个人资料。

最佳答案

也许你可以用 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
}

`

关于ios - 文本上的操作标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45725214/

相关文章:

xcode - 限制或更改 Xcode 4 中的方案目标?

swift - “ fatal error :在展开可选值时意外发现nil”是什么意思?

swift - Swift 3 中的 TableViewCell 复制属性已更改

ios - 确定 MKMapView 是否在 Swift 2.0 中被拖动/移动

swift - 为 MacOS 命令行工具设置应用程序组?

xcode - 如何设置默认的 Xcode 公司标识符?

ios - 无法连接 IBAction 以查看

ios - 如何在 iOS 上处理删除帐户时成功验证苹果登录撤销 token api?

android - Flutter - 解析 HTML 数据时出错

ios - 在 Swift 3 中实现收据验证