UITextView中打开UIViewController的iOS链接



我正在UITextView中实现一个链接,它将在导航控制器上推送一个视图控制器。

我正在尝试使用以下方法:

directionTextLabel.text = [directionTextLabel.text stringByAppendingString:[[NSString alloc] initWithFormat:@" %@", siteURL]];
directionTextLabel.dataDetectorTypes = UIDataDetectorTypeLink;

这使得我的链接可以点击。然后在我的申请代表中,我有:

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
    NSLog(@"URL detected.");
    return 1;
}

然而,当我点击链接时,它会打开一个新页面,而不会调用我的应用程序委派方法。知道出了什么问题吗,或者我可以用其他方式来实现吗?

谢谢。

application:openURL...委托方法适用于应用程序需要响应其注册的URL处理程序(如Info.plist文件中定义的)时。URL事件将被发送到目标应用程序中的类似方法(例如,用于http链接的Safari)。

编辑:请参阅这篇文章

这个方法不会做你认为它会做的事情。当应用程序被某些URL方案调用时,而不是当应用程序打开URL时,会调用此方法。

最新更新