簡體   English   中英

UIWebView和導航控制器

[英]UIWebView and navigation controller

如何使用UINavigationController告訴我的UIWebView在新視圖中打開鏈接?

我找到了這個帖子,但是我很想知道在哪里實現那段代碼(我是Objective-C / IPhone的新手)

單擊UIWebView中的鏈接將推送到NavigationView堆棧

我的視圖只包含一個帶有UINavigationController的簡單WebView

#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];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM