在 tableviewcell 中使用 UITableview 执行 segue

Posted

技术标签:

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

供参考:

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

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

如何使用子类UITableViewCell 执行segue?

有什么想法吗?

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

【问题讨论】:

通常,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。无论如何感谢您的回答。

以上是关于在 tableviewcell 中使用 UITableview 执行 segue的主要内容,如果未能解决你的问题,请参考以下文章

在应用程序中使用两个不同的 uitab bar

滚动表格视图时隐藏文本字段数据

在一个单元格中加载多个 Xib 视图

数据未显示在 UITableView 的自定义单元格中

我们如何为多个 UITab 使用相同的 WKWebView

当用户开始在 UIImageView 上滑动时,UITableView 滑动操作不起作用