2

我的文本视图中有一个 URL,当我们单击此 URL 时,它会在默认 safari 中打开此 URL。我想检测这个事件。我也试过这个

但它不适合我。任何人都可以建议我如何做到这一点。为此提供我一个样本。

我的应用程序委托是 UIResponder 类型。

4

3 回答 3

2

另一个答案按预期工作。

创建New File,选择Objective-C Class

  • 班级:MyApplication
  • 子类:UIApplication

将此代码粘贴到.m文件中:

- (BOOL)openURL:(NSURL *)url {
    if  ([self handleOpenURL:url])
        return YES;
    else
        return [super openURL:url];
}
- (BOOL)handleOpenURL:(NSURL*)url {
    NSLog(@"my url handler");
    return YES;
}

接下来打开你的main.m并更改第三个参数

return UIApplicationMain(argc, argv, nil, NSStringFromClass([SampleAppDelegate class]));

到您的UIApplication-subclass 名称

return UIApplicationMain(argc, argv, @"MyApplication", NSStringFromClass([SampleAppDelegate class]));
于 2012-06-11T13:59:11.977 回答
0

假设您只需要显示带有链接的静态标签,我们在 Nimbus 中有一个相当强大的属性标签,您可能希望查看:

http://docs.nimbuskit.info/group___nimbus_attributed_label.html

该标签使用 CoreText 和 NSAttributedString,因此它建立在 Apple 核心技术之上。它在各个方面都像 UILabel 一样。下面是实现 NIAttributedLabel 委托的示例:

https://github.com/jverkoey/nimbus/blob/master/examples/attributedlabel/BasicAttributedLabel/BasicAttributedLabel/src/MashupViewController.m#L92

更多信息: http: //nimbuskit.info/

于 2012-06-12T22:10:46.987 回答
0

看看这个 GitHub 项目:MSTextView

于 2012-06-08T08:40:09.590 回答