2010-11-18 15 views
0

私は今、1つのページで私は戻るボタンとuiwebviewとナビゲーションバーを持っている1つのアプリケーションを作っています。ボタンをクリックすると、このページが読み込まれます。私の問題は、このページが読み込まれたときに、URLが渡されたページ全体をカバーし、その特定のuiwebviewに限定されないことです。その結果、私は他のページに移動することができません。ページの一部でuiwebviewでリンクを開く方法は?

私は同じのために、次のコードを使用:

- (void)viewWillAppear:(BOOL)animated 
{ 
    NSString *url = [NSString stringWithFormat:@"http://www.facebook.com/"]; 

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]]; 
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:url]]; 
[webview loadRequest:request]; 

[super viewWillAppear:animated]; 
} 

誰がこの問題をressolveする方法を、私に答えることはできますか?

ありがとうございます。

答えて

3

使用すると:[[UIApplication sharedApplication] openURL...あなたのアプリを終了した後、URLを開くにはsafariを呼び出しています。

ので、WebViewControllerを作成し、viewDidLoadで次の行を追加します。

NSString *urlAddress; 
if(siteType == @"facebook"){ 
    self.title = @"Facebook"; 
    urlAddress = @"http://www.facebook.com"; 
} 

//Create a URL object. 
NSURL *url = [NSURL URLWithString:urlAddress]; 

//URL Requst Object 
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url]; 

//Load the request in the UIWebView. 
[webView loadRequest:requestObj]; 

とルートコントローラのボタンにアクションにこれを追加します。WebViewControllerヘッダの

WebViewController *wvc = [WebViewController alloc]; 
wvc.siteType = @"facebook"; 
[self.navigationController pushViewController:wvc animated:YES]; 

そしてもちろんを、あなたは必要があります:

@interface WebViewController : UIViewController <UIWebViewDelegate> 
{ 
    NSString *siteType; 
    IBOutlet UIWebView *webView; 
} 
@property (nonatomic, retain) NSString *siteType; 
@property (nonatomic, retain) UIWebView *webView; 
@end 

と忘れて@synthesize siteType,webView;

+0

本当にありがとうございました。 – Sarah

関連する問題