2013-04-11 116 views
-1

我是iPhone新手,我想在用戶點擊特定行(Google,Facebook,Yahoo)時根據URL移動到UIWebview。我希望頁面重定向到UIWebview。如何重定向UIWebview?

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 

    SBJsonParser *parser = [[SBJsonParser alloc] init]; 
    NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"URL"]]; 
    NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; 
    NSString *json_string = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding]; 
    statuses = [parser objectWithString:json_string error:nil]; 

    if (indexPath.row == 0) { 
     //What do i write in here 
    } else if(indexPath.row == 1) { 

    } else if(indexPath.row == 2) { 

    } else { 

    } 
} 

任何人都可以幫我嗎?

+1

UIWebView是否由相同的視圖控制器控制?如果不是,則應該對另一個管理UIWebView的ViewController執行segue,並在其中傳遞鏈接。 – FreeNickname 2013-04-11 08:23:30

+0

你能告訴我一些示例代碼嗎? – user2264731 2013-04-11 08:29:41

回答

-1

您必須創建一個新的控制器,然後單擊導航到該控制器。你也必須傳遞鏈接到另一個控制器來加載網址到webview。

如果Webview是由同一個視圖控制器管理,請檢查本教程如何實現的UIWebView here

+0

我想補充一點,如果你想要一個在ViewControllers和segue管理之間傳遞參數的好例子,你可以查看這篇教程http://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/SecondiOSAppTutorial/ – FreeNickname 2013-04-11 08:58:21

0

(這樣的ViewController具有這樣的屬性):

@property (nonatomic, retain) UIWebView *webView; 

那麼你就可以打開鏈接像這樣:

NSURL *url = [NSURL URLWithString:@"http://your-url-goes-here.com"]; 
    NSURLRequest *request = [NSURLRequest requestWithURL:url]; 
    [self.webView loadRequest:request]; 

但是,如果Webview是由其他的ViewController管理比你有一個鏈接傳遞給ViewContro勒勒,然後觸發賽格。 常用的方法是設置viewController的屬性來傳遞鏈接。

例如在WebViewController.h

... 
@property (nonatomic, copy) NSString *linkToOpen; //My fantasy isn't really working right now :) 
... 
在WebViewController.m

... 
- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    NSURL *url = [[[NSURL alloc] initWithString:self.linkToOpen] autorelease]; 
    NSURLRequest *request = [NSURLRequest requestWithURL:url]; 
    [self.webView loadRequest:request]; 
} 
... 

從你的ViewController到WebViewController一個SEGUE

有IDENTIFER @ 「myTestSegue」,那麼你可以不喜歡它所以:

WebViewController *webViewController = [[WebViewController alloc] initWithStyle:/*I don't honestly remember what to write here, sorry :(*/]; 
webViewController.linkToOpen = @"your link goes here. You can assign it inside a switch operator."; 
[self.navigationController pushViewController:webViewController animated:YES]; 
[webViewController release]; 

的代碼是不完整的,可能不正確somewhe但是我希望它能幫助你實現你的目標。

+0

非常感謝您的寶貴回覆.... – user2264731 2013-04-11 13:20:35

+0

別提了:) – FreeNickname 2013-04-11 17:52:00