【问题标题】:perform segue with UITableview inside a tableviewcell在 tableviewcell 中使用 UITableview 执行 segue
【发布时间】:2014-04-25 02:55:00
【问题描述】:

供参考:

TABLEVIEW(1 部分 - 3 行) 在每一行中,我都有一个包含另一个 tableview 的自定义单元格。

自定义单元格内的 tableview 使用 uitableviewcell 子类化 我在其中实现了我的所有代表,例如 cellforrow 等,UITableView 单元格内的表视图的文件所有者是我的UIViewController

如何使用子类UITableViewCell 执行segue?

有什么想法吗?

注意:我使用 UITableViewCell 上的 tableview 作为子类。

【问题讨论】:

  • 通常,segue 用于实现两个视图控制器之间的转换。你把所有的东西都放在同一个视图控制器中了吗?

标签: ios uitableview segue


【解决方案1】:

control从视图控制器拖动到视图控制器

您需要为您的 segue 提供一个标识符:

执行转场:

didSelectRowAtIndexPath

 -(void)tableView:(UITableView *)tableView 
                            didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
   [self performSegueWithIdentifier:@"yourSegue" sender:sender];
 }

现在是这样,如果您需要将一些数据传递给该视图控制器,这将只是执行转场。然后你必须实现以下 segue 委托:

prepareForSegue

 - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    // Make sure your segue name in storyboard is the same as this line
    if ([[segue identifier] isEqualToString:@"yourSegue"])
    {  
       //pass data here
    }
}

【讨论】:

  • 这对我不起作用。已经试过了。屏幕截图:i1262.photobucket.com/albums/ii615/jorelkimcruz/… *** 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“接收者()没有标识符为“moviedetail”的segue,但已经在情节提要上设置了我的segue标识符
  • @FanBoy-designAnd-concept 我扩展了我的答案
  • 这不适用于 UITableViewCell 类型的类,通过重做任务解决了我的问题。而不是使用 UITableViewCell 作为 UITableView 的子类。我以编程方式将 tableViews 制作为 viewcontrollers。因为 UITableViewCell 不识别segues。 AFAIK。无论如何感谢您的回答。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-26
  • 1970-01-01
相关资源
最近更新 更多