UIWebView和导航控制器

问题描述:

如何告诉我的UIWebView在新视图中使用UINavigationController打开链接?UIWebView和导航控制器

我发现这个线程,但IMA有点困惑的地方实行的是一段代码(IM新目标-C/IPhone)

Clicking a link in UIWebView pushes onto the NavigationView stack

我看来只包含一个简单的WebViewUINavigationController在上面

#import <UIKit/UIKit.h> 


@interface ContactViewController : UIViewController { 

    IBOutlet UIWebView *webView1; 
} 

@property (nonatomic, retain) UIWebView *webView1; 

这里是假设你的视图控制器(容纳的WebView)步骤已经是一个导航控制器内。

内.H - 确保您的视图控制器符合的WebView委托

UIViewController <UIWebViewDelegate> 

内.M - 添加以下代码(或只是实现此方法与任何你想要的逻辑)

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{ 
if (navigationType == UIWebViewNavigationTypeLinkClicked) { 
    YourNextViewController *ynvc = [[[YourNextViewController alloc] initWithNibName:@"YourNextViewController" bundle:nil] autorelease]; 
    ynvc.ivar1 = value1; 
    ynvc.ivar2 = value2; 

    UIBarButtonItem *backButton = [[[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStyleBordered target:nil action:nil] autorelease]; 
    [[self navigationItem] setBackBarButtonItem:backButton]; 

    [self.navigationController pushViewController:ynvc animated:YES]; 

    return NO; 
} 
return YES;} 
+0

谢谢,我错过了 2011-04-06 09:03:17

+0

的概念没有问题 - 如果解决了这个问题并且一切正常,请不要忘记接受答案。 – 2011-04-06 13:17:59

+0

我面临同样的问题,但这不与我合作:( – Sedz 2012-07-19 23:43:04

我是很新,客观C/iPhone也一样,但我会尝试..

正在为您的WebView新的viewController,并推入您的UINavigator

yourWebViewController *y = [[yourWebViewController alloc] init]; 
[self.navigationController pushViewController:y animated:YES]; 
[y release];