适用于iOS的Twitter UITableViewCell链接检测(Swift)

时间:2016-01-26 02:38:47

标签: ios swift uitableview uitextview

我试图在Twitter上为iOS重现效果,如果你点击推文的文字,但链接上的(假设这条推文有链接),它会转到推文视图控制器,但如果您单击实际链接,则会在浏览器中打开该链接。

我了解如何使用 shouldInteractWithURL 委托方法检测和打开与UITextViews的链接,但我对如何在UITextView的其余部分实现触摸感到困惑。 ; t打开链接但执行另一个操作,在这种情况下打开一个推文视图控制器。

我已尝试将点按手势挂钩到UITextView,但我似乎无法将通过手势检测到的点击与shouldInteractWithURL调用分开,因此当我点击链接时,两个操作都会发生,而不仅仅是打开链接。

这一切都发生在UITableViewCell中。

非常感谢任何有关如何进行的帮助

2 个答案:

答案 0 :(得分:2)

所以听起来你想要确保如果有一个http,你希望它打开某种类型的webview,而UITextView的其他部分被点击,在其他地方划分。

有几种方法可以解决这个问题。您可以忽略代理并检测被点击的确切-didSelectRowAtIndexPath,而不是使用CGPoint

let buttonPosition: CGPoint = sender.convertPoint(CGPointZero, toView: view)
let indexPath = view.indexPathForItemAtPoint(buttonPosition)

并且对于超链接的检测,如果您使用Swift,也许您可​​以使用正则表达式来制作/检测链接或使用类似Active Label的内容。

答案 1 :(得分:0)

只需让UITableViewCell segue在点击时打开新的View控制器