UIWebView和导航控制器
问题描述:
如何告诉我的UIWebView
在新视图中使用UINavigationController
打开链接?UIWebView和导航控制器
我发现这个线程,但IMA有点困惑的地方实行的是一段代码(IM新目标-C/IPhone)
Clicking a link in UIWebView pushes onto the NavigationView stack
我看来只包含一个简单的WebView
与UINavigationController
在上面
#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;}
答
我是很新,客观C/iPhone也一样,但我会尝试..
正在为您的WebView新的viewController,并推入您的UINavigator
yourWebViewController *y = [[yourWebViewController alloc] init];
[self.navigationController pushViewController:y animated:YES];
[y release];
谢谢,我错过了 –
2011-04-06 09:03:17
的概念没有问题 - 如果解决了这个问题并且一切正常,请不要忘记接受答案。 – 2011-04-06 13:17:59
我面临同样的问题,但这不与我合作:( – Sedz 2012-07-19 23:43:04