当用户单击当前UIWebView
中的链接时,新视图将被推送到包含UIWebView
的navigationController堆栈。我想将触及的网址传递给这个新的UIWebView
。我该怎么做呢?
答案 0 :(得分:3)
在UIWebView
代表中:
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
if( navigationType == UIWebViewNavigationTypeLinkClicked ) {
YourWebViewController* vc = [[YourWebViewController alloc] initWithURL:[request URL]];
[self.navigationController pushViewController:vc animated:YES];
[vc release];
return NO;
}
return YES;
}
然后您只需要在自定义viewcontroller中实现初始化程序:
- (id)initWithURL:(NSURL*)url {
self = [super init];
if( self ) {
myURL = [url retain];
}
return self;
}
然后在适当的时间加载它,例如viewDidAppear:
- (void)viewDidAppear:(BOOL)animated {
[webView loadRequest:[NSURLRequest requestWithURL:myURL]];
}