Ios 在UITextView中创建自定义链接并运行自定义方法

Ios 在UITextView中创建自定义链接并运行自定义方法,ios,objective-c,uitextview,Ios,Objective C,Uitextview,我想使用下面的模式在UITextView中创建自定义链接 并在点击链接时播放与videoID对应的视频 当链接从“https://”开始时,是否可以运行我自己的流程(方法),而不使用safari打开链接 编辑:我想采取行动 解决方案: 所以,根据Lion的回答,我在下面编写了代码,以防止在点击的url是youtube视频链接时使用safari打开url - (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)

我想使用下面的模式在UITextView中创建自定义链接 并在点击链接时播放与videoID对应的视频

当链接从“https://”开始时,是否可以运行我自己的流程(方法),而不使用safari打开链接

编辑:我想采取行动

解决方案:

所以,根据Lion的回答,我在下面编写了代码,以防止在点击的url是youtube视频链接时使用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;

}

只需将链接粘贴为
文本视图
,然后从属性检查器中选中
检测链接的复选框
。然后,当您单击此链接时,它将在默认浏览器中打开

现在,如果您不想打开safari,那么可以使用
webview
打开链接

您可以使用此委托检测单击链接

- (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)URL inRange:(NSRange)characterRange{

}
通过此方法,您可以加载webview以运行url

请参阅此链接,了解如何在
webview


希望这会有所帮助:)

我的应用程序是YouTube视频播放器应用程序。我只想在我的应用程序中播放视频。很抱歉没有解释。如果您只想播放视频,则不需要uitextview。您可以直接在webview中播放视频,如answwer中的链接所述。不,我已经有了播放youtube视频的方法(使用XCDYouTubeKit)。我希望用户允许从当前播放视频的描述视图(uitextview)播放视频。然后,您可以通过检测我在回答中提到的textview委托方法中的单击来将此链接传递给此播放器<代码>URL参数是用户单击的链接谢谢!我终于想出了在应用程序中播放视频的方法,我们在safari中用代码blow打开:
-(BOOL)textView:(UITextView*)textView应该与URL进行交互:(NSURL*)URL inRange:(NSRange)characterRange{NSLog(@“%@”,URL);if([[URL绝对字符串]hasPrefix:@”https://www.youtube.com/watch?v=“]{NSLog(@“youtubeURL!”);videoID=[[URL absoluteString]substringFromIndex:32];NSLog(@“%@”,videoID);[self playVideo];[self getRelated];[self getComment];返回号;}返回URL;}