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