【问题标题】:Make custom link in UITextView and run custom method在 UITextView 中创建自定义链接并运行自定义方法
【发布时间】:2016-08-16 01:46:48
【问题描述】:

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

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

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

编辑:我想采取行动like this

解决方案:

所以,根据 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;

}

【问题讨论】:

    标签: ios objective-c uitextview


    【解决方案1】:

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

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

    您可以使用此委托来检测链接的点击,

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

    通过这个方法,你可以加载你的 webview 来运行 url。

    请参阅此链接以了解如何在 webview youtube in webview 中播放 youtube 视频

    希望这会有所帮助:)

    【讨论】:

    • 我的应用是 YouTube 视频播放器应用。我只想在我的应用中播放视频。抱歉,没有解释。
    • 如果您只想播放视频,则不需要 uitextview。您可以直接在 webview 中播放视频,如 answwer 中的链接所述。
    • 不,我已经有了播放 youtube 视频的方法(使用 XCDYouTubeKit)。我希望用户让当前播放视频的描述视图(uitextview)播放视频。
    • 那么您可以通过检测我在回答中提到的 textview 委托方法中的点击来将此链接传递给该播放器。 URL 参数是用户点击的链接
    • 谢谢!我终于找到了在应用程序中播放视频的方法,我们在 safari 中打开了代码:- (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; }
    猜你喜欢
    • 2013-07-13
    • 2015-02-09
    • 1970-01-01
    • 2016-08-07
    • 1970-01-01
    • 2014-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多