我试图在Twitter上为iOS重现效果,如果你点击推文的文字,但链接上的不(假设这条推文有链接),它会转到推文视图控制器,但如果您单击实际链接,则会在浏览器中打开该链接。
我了解如何使用 shouldInteractWithURL 委托方法检测和打开与UITextViews的链接,但我对如何在UITextView的其余部分实现触摸感到困惑。 ; t打开链接但执行另一个操作,在这种情况下打开一个推文视图控制器。
我已尝试将点按手势挂钩到UITextView,但我似乎无法将通过手势检测到的点击与shouldInteractWithURL调用分开,因此当我点击链接时,两个操作都会发生,而不仅仅是打开链接。
这一切都发生在UITableViewCell中。
非常感谢任何有关如何进行的帮助
答案 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控制器