2016-04-22 100 views
0

我想在UITextView中使用低于 的模式创建自定义链接,并在点击链接时播放与视频ID对应的视频。在UITextView中创建自定义链接并运行自定义方法

https://www.youtube.com/watch?v=VIDEOID

是否可以经营自己的过程(方法),当链路从开始 “https://开头” 不使用Safari打开链接?

编辑:我想拍动作like this

SOLUTION:

因此,基于由Lion的答案,我做了下面的代码,以防止与Safari中打开链接,同时挖掘网址是YouTube的视频链接。

- (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; 

}

回答

1

只是粘贴链接为textView和从属性检查器中选中复选框detection links。那么当你点击这个链接时,它会在你的默认浏览器中打开。

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

您可以使用该委托检测点击链接,

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

} 

此方法可以加载网页视图运行网址。

参阅此链接了解如何播放YouTube视频webviewyoutube in webview

希望这将有助于:)

+0

我的应用程序是YouTube影片播放应用程序。我只想在我的应用程序中播放视频。缺乏解释。 –

+0

如果你只想播放视频,那么不需要uitextview。您可以直接在webview中播放视频,如链接中的链接所述。 – Lion

+0

不,我已经有方法播放YouTube视频(使用XCDYouTubeKit)。我希望用户能够从当前播放视频的描述视图(uitextview)中播放视频。 –