我的textview中有一个网址,当我们点击此网址时,会在默认的Safari中打开此网址。我想检测这个事件。我也试过了this
但它不适合我。任何人都可以建议我如何做到这一点。为我提供一个样本。
我的应用程序deligate是UIResponder类型。
答案 0 :(得分:2)
other answer按预期工作。
创建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
- 子类名称
return UIApplicationMain(argc, argv, @"MyApplication", NSStringFromClass([SampleAppDelegate class]));
答案 1 :(得分:0)
看看这个GitHub项目:MSTextView
答案 2 :(得分:0)
假设您只需要显示带链接的静态标签,我们在Nimbus中有一个相当强大的属性标签,您可能希望查看:
http://docs.nimbuskit.info/group___nimbus_attributed_label.html
标签使用CoreText和NSAttributedString,因此它基于核心Apple技术构建。它的行为像UILabel一样。以下是实现NIAttributedLabel委托的示例:
更多信息: http://nimbuskit.info/