Ios 从另一个视图控制器以编程方式选择表视图单元格

Ios 从另一个视图控制器以编程方式选择表视图单元格,ios,swift,uiviewcontroller,tableview,segue,Ios,Swift,Uiviewcontroller,Tableview,Segue,我还没有编码,但我想知道这是否可能,以及如何实现。假设我在VC1上。如果我按下VC1上的一个按钮,我希望被带到VC2,它有一个表视图,然后让它自动选择第一个单元格并切换到VC3。任何有这方面经验的人 假设这更多的是一个概念性问题,是的,这是可以做到的。我曾经开发过一个应用程序,其中该功能需要使用NSNotification以编程方式在多个级别的表视图中设置动画。本质上,您只需要从tableView:didselectrowatinexpath:调用一个共享方法,您可以直接调用该方法来“选择”表单

我还没有编码,但我想知道这是否可能,以及如何实现。假设我在VC1上。如果我按下VC1上的一个按钮,我希望被带到VC2,它有一个表视图,然后让它自动选择第一个单元格并切换到VC3。任何有这方面经验的人

假设这更多的是一个概念性问题,是的,这是可以做到的。我曾经开发过一个应用程序,其中该功能需要使用
NSNotification
以编程方式在多个级别的表视图中设置动画。本质上,您只需要从
tableView:didselectrowatinexpath:
调用一个共享方法,您可以直接调用该方法来“选择”表单元格并执行默认操作


如果这能回答您的问题,请告诉我。

是的,这是可以做到的。有很多方法,其中一种方法就是这样-

1.在您的VC2视图中,有以下行-

override  func viewDidAppear() {
  super.viewDidAppear()

  let rowToSelect:NSIndexPath = NSIndexPath(forRow: 0, inSection: 0)

  tableView.selectRowAtIndexPath(rowToSelect, animated: true, scrollPosition: UITableViewScrollPosition.None)

  self.tableView(tableView, didSelectRowAtIndexPath: rowToSelect)
}
  • 在tableView方法中,选择RowatineXpath-

    func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
     if indexPath.row == 0 {
         self.presentVC3()
     }
    }
    
    func presentVC3() {
    //Initialize VC3
    // And Segue to VC3
    }
    

  • 你想为这个完整的行为制作动画吗?为什么VC2需要参与其中?这当然会起作用,但你需要在VC3代码中小心,因为它现在可能由两个不同的控制器呈现。在我在回答中描述的场景中,我们需要让VC2的代码像用户点击单元格一样执行。考虑到这些问题,这个答案可能是解决方案。为什么VC3将由两个不同的控制器呈现,问题中明确提到VC3将在选择第一个单元后从VC2呈现。