iOS swift:带有指向另一个视图的链接的textView

时间:2017-10-09 06:52:37

标签: ios swift textview nsattributedstring

我正在尝试使用像这样的测试来创建TextView:

  

Cras et enim ipsum。 Nullam rhoncus euismod nisi在召唤时。   Etiam accumsan libero odio,eget malesuada ligula bibendum   venenatis。

链接将你带到另一个ViewController ...我想我应该使用属性文本来完成这个,但我真的无法想象如何......

另一个解决方案是使用标签包围的按钮,但它不优雅......

可帮助?

3 个答案:

答案 0 :(得分:2)

使用UITextView委托方法

textView(_:shouldInteractWith:in:interaction:)

您可以在此方法中检查URL,其中需要对另一个viewcontroller进行深度链接。此外,对于此类情况,请从此方法返回false。

如果还可以从应用程序外部打开URLS,您可能需要查看iOS中提供的Deeplink解决方案以便更好地进行管理,并为用户提供deepklink功能。

答案 1 :(得分:1)

您可以使用github上可用的活动标签框架工作,因为我使用相同的方法实现我的目标并且工作正常
https://github.com/optonaut/ActiveLabel.swift
实施例

app.post

答案 2 :(得分:0)

您可以检查所按的网址并显示您的视图控制器

func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebViewNavigationType) -> Bool
{
    if let urlStr = request.url?.absoluteString
    {
        if (urlStr.lowercased().contains("yourURL"))
        {
            //go to your view controller
            return true
        }
    }
    return false
}