从自定义单元笔尖推送到 viewController

Posted

技术标签:

【中文标题】从自定义单元笔尖推送到 viewController【英文标题】:push from custom cell nib to viewController 【发布时间】:2015-11-21 07:56:39 【问题描述】:

我使用UITableViewController 作为源,目标是带有 UITableView 的 UIViewController。

我想push from (a) tableViewCell (in a custom cell of a tableview in .xib) to (b) viewController 。自定义单元格在 .xib 文件中指定。我曾尝试控制拖动来创建 segue,但我无法做到。

如何从 customCell 推送到 UIViewController? 我试过了

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) print("You selected cell #\(indexPath.row)!")

    let destination = FestsViewController()
    navigationController?.pushViewController(destination, animated: true)

我得到没有标签的黑色背景。

【问题讨论】:

【参考方案1】:

你不能。 Segues 仅在情节提要中可用。 您必须手动进行导航 -tableView:didSelectRowAtIndexPath.

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

    //some checks 
    //...

    UIViewController *destinationVC = //init it with nib or instantiate from storyboard   
    //pass some parameters if you need
    //e.g.
    //destinationVC.prop1 = someValue; 
    [self.navigationController pushViewController:destinationVC animated:YES];

【讨论】:

我试过了,但是我的背景是黑色的,你可以看到我附上了上面的截图,标签菜单也没有消失。 将 ViewController 的 xib 文件名重命名为 'FestsViewController' 并将该行更改为:let destination = FestsViewController(nibName: "FestsViewController", bundle: nil) 崩溃了Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Could not load NIB in bundle: 'NSBundle 你确定你有那个笔尖吗? 我有一个 customCell.xib

以上是关于从自定义单元笔尖推送到 viewController的主要内容,如果未能解决你的问题,请参考以下文章

将 JUnit 报告推送到 Sonarqube

故事板和笔尖兼容?

如何将新的 UICollectionViewController 推送到单元格单元格内的 navigationController

将 UIViewController 推送到 UINavigationController 时动画挂起

Tableview推送到不同的视图

推送到 navigationController 时 UITableViewController 静态单元格不出现