UITableViewController中的静态单元格在同一个nib上打开不同的URL

时间:2012-03-15 07:43:16

标签: iphone ios xcode uitableview uiwebview

我是UITableViewController的新手,我想制作一个静态单元格UITableViewController,每个静态单元格打开相同的nib文件,但UIWebView的URL会有所不同。例如第1行将在yahoo.com中打开google.com和第2行。我可以知道我该怎么办?

由于

1 个答案:

答案 0 :(得分:2)

您需要实现tableview委托方法tableView:didSelectRowAtIndexPath:,这将允许您询问tableview选择了哪个单元格,然后采取适当的操作。一个例子是:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
    if ([cell.textLabel.text isEqualToString:@"google"]) {
        // open google
    } else if ([cell.textLabel.text isEqualToString:@"yahoo"]) {
        // open yahoo
    }
}

编辑回答评论中提出的问题

您没有说明这一点,但是从阅读您的问题开始,我猜测您正在使用单独的nib文件,并希望在用户选择其中一个静态单元格时在屏幕上推送另一个控制Web视图的视图控制器。执行此操作的步骤是:

  1. 创建新VC
  2. 为公共属性提供您要加载的网址
  3. 在屏幕上按VC
  4. 在代码中看起来像:

     WebViewController webVC = [[WebViewController alloc] initWithNibName:@"your nib name" bundle:[NSBundle mainBundle]];
     webVC.url = // some NSURL object, or maybe just a string that has the URL - that's up to you
     [self.navigationController pushViewController:webVC animated:YES]