gpt4 book ai didi

iphone - 单击 UIWebView 中的链接会推送到 NavigationView 堆栈

转载 作者:可可西里 更新时间:2023-11-01 04:40:38 25 4
gpt4 key购买 nike

基本上,我想知道如何拦截 webview 中的点击,然后弹出一个新 View ,顶部有一个导航栏(带有后退按钮),内容是我点击的链接.

我目前有一个包含 5 个选项卡的选项卡栏模板,每个选项卡当前都设置为 NavigationView,每个选项卡内都是包含 UIWebView 的 View 。这是我处理链接的方式:

-(BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request   navigationType:(UIWebViewNavigationType)navigationType {

NSURL *url = request.URL;
NSString *urlString = url.absoluteString;
NSRange page = [ urlString rangeOfString: @"/?page=" ];
// URL is main page
if ( [ urlString isEqualToString: @"http://somelink-yadayadayada.com/" ] ) {
return YES;
}
// URL contains page number
else if ( page.location != NSNotFound ) {
return YES;
}
// URL is clicked link
else {
// THIS IS WHERE I NEED TO HAVE THE LINK OPEN THE NEW NAV VIEW.
return NO;
}
}

任何帮助将不胜感激,如果我需要提供更多背景信息,我将很乐意这样做。谢谢。

最佳答案

这个问题已经被问过很多次了。请看this page ,这几乎正是您所需要的,只需将 [BrowserViewController openBrowserWithUrl:url]; 更改为将新 ViewController 推送到导航堆栈所需的任何内容。它可能看起来像这样:

LatestView *latestView = [[LatestView alloc] initWithNibName:@"LatestView" bundle:nil]; 

//Pass the URL here, depends on how you passed it into the WebView in the first place

// Add the ViewController to the stack
[self.navigationController pushViewController:latestView animated:YES];
[latestView release];

关于iphone - 单击 UIWebView 中的链接会推送到 NavigationView 堆栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3815167/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com