-1

我是 iPhone 开发的新手,我想UIWebview在用户单击特定行(Google、Facebook、Yahoo)时基于 URL 移动。我希望页面重定向到 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 {

    }
}

谁能帮我?

4

2 回答 2

0

如果 webView 由同一个 ViewController 管理(因此 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 管理,则您必须将链接传递给该 ViewController,然后触发 segue。一种常见的方法是设置 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 有一个标识符 @"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];

代码不完整,可能在某处不正确,但我希望它能帮助您实现目标。

于 2013-04-11T08:48:59.997 回答
-1

您必须创建一个新控制器并在单击时导航到该控制器。此外,您必须将链接传递给另一个控制器才能将 url 加载到 webview。

于 2013-04-11T08:39:54.340 回答