在 UITextView 中制作自定义 link 和 运行 自定义方法

Make custom link in UITextView and run custom method

我想在 UITextView 中使用以下模式自定义 link 并在点击 link 时播放与 videoID 对应的视频。

https://www.youtube.com/watch?v=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 视频

希望这会有所帮助:)