外部笔尖中的表视图单元格。故事板

时间:2012-11-27 19:46:22

标签: objective-c ios

所以我在storyboard中构建了一个表视图,并使用自定义UITableViewCell创建了一个外部Nib文件。一切都很好。但是,表格视图单元格上有一个按钮,我希望通过segue连接到故事板中的视图。现在我对这一切仍然很新,那么如何将自定义单元格上的按钮连接到故事板中的视图控制器?我完全错了吗?如果是这样,我将如何快速轻松地重组我的项目?如果你能提供一些解释,我可以从中学习,我将不胜感激。

感谢您的帮助,
问候,
麦克

1 个答案:

答案 0 :(得分:1)

可以使用故事板在故事板中的UITableViewCell内设置一个按钮。我之前做过类似的事情。所以,这是一个解决方案;

  • 在UITableView单元格中创建prototyoe单元格并向其添加UIButton。
  • 从按钮创建一个segue到一个新的视图控制器,然后选择模态或推送。

现在,在UITableViewData数据源cellForRowAtIndexPath;

-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];
    if(!cell){
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"cell"];
    }
    UIButton *button = ((UIButton*)[cell.contentView.subviews objectAtIndex:0])
    button.tag = indexPath.row;
    cell.textLabel.text = @"Hello Text"
    ;
    return cell;
}

现在,当您单击按钮时,将调用prepareForSegue:。

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
    if([segue.identifier isEqualToString:@"identifier"]){
        UIButton *button = (UIButton*)sender;
        NewViewController *viewController = [segue destinationViewController];
       if(button.tag == 1)
          viewController.someobject = ...
       else 
          viewController.somobject = ...
    }
}

这应该有用。