在 UITextView 中制作自定义 link 和 运行 自定义方法
Make custom link in UITextView and run custom method
我想在 UITextView 中使用以下模式自定义 link
并在点击 link 时播放与 videoID 对应的视频。
当 link 从 "https://" 开始而不用 safari 打开 link 时,是否可以 运行 我自己的过程(方法)?
编辑:我想采取行动like this
解决方案:
因此,根据 Lion 的回答,我编写了以下代码以防止在点击 url 是 youtube 视频 link 时使用 safari 打开 url。
- (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)URL inRange:(NSRange)characterRange{
NSLog(@"%@",URL);
if ([[URL absoluteString] hasPrefix:@"https://www.youtube.com/watch?v="]){
NSLog(@"youtubeURL!");
videoID=[[URL absoluteString] substringFromIndex:32];
NSLog(@"%@",videoID);
[self playVideo];
[self getRelated];
[self getComment];
return NO;
}
return URL;
}
只需将 link 粘贴为 textView
,然后在属性检查器中选中 detection links
的复选框。那么当您单击此 link 时,它将在您的默认浏览器中打开。
现在,如果您不想打开 safari,则可以使用 webview
打开 links。
您可以使用此委托来检测对 link、
的点击
- (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)URL inRange:(NSRange)characterRange{
}
通过这种方法,您可以将 webview 加载到 运行 url。
参考此 link 了解如何在 webview
youtube in webview
中播放 youtube 视频
希望这会有所帮助:)
我想在 UITextView 中使用以下模式自定义 link 并在点击 link 时播放与 videoID 对应的视频。
当 link 从 "https://" 开始而不用 safari 打开 link 时,是否可以 运行 我自己的过程(方法)?
编辑:我想采取行动like this
解决方案:
因此,根据 Lion 的回答,我编写了以下代码以防止在点击 url 是 youtube 视频 link 时使用 safari 打开 url。
- (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)URL inRange:(NSRange)characterRange{
NSLog(@"%@",URL);
if ([[URL absoluteString] hasPrefix:@"https://www.youtube.com/watch?v="]){
NSLog(@"youtubeURL!");
videoID=[[URL absoluteString] substringFromIndex:32];
NSLog(@"%@",videoID);
[self playVideo];
[self getRelated];
[self getComment];
return NO;
}
return URL;
}
只需将 link 粘贴为 textView
,然后在属性检查器中选中 detection links
的复选框。那么当您单击此 link 时,它将在您的默认浏览器中打开。
现在,如果您不想打开 safari,则可以使用 webview
打开 links。
您可以使用此委托来检测对 link、
的点击- (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)URL inRange:(NSRange)characterRange{
}
通过这种方法,您可以将 webview 加载到 运行 url。
参考此 link 了解如何在 webview
youtube in webview
希望这会有所帮助:)