我在选项卡栏视图中放置了一个 TableView 控制器,一旦用户选择了其中一个表单元格,我想将他带到一个视图控制器,其中包含有关该单元格的详细信息。 我创建了视图和所有视图,但我不确定如何将对象从表视图控制器发送到视图控制器,以便我可以显示它的详细信息。我通过控制从原型单元拖动到视图控制器来执行 segue,它有效,只是为了获取对象。请帮忙:)
最好阿纳斯
您可以使用函数 prepareForSegue
override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) {
if (segue.identifier == "SomeView") {
// pass data to next view
}
}
或类似的东西
if segue!.identifier == "Details" {
let cellViewController = segue!.destinationViewController as ViewController
let indexPath = self.tableView.indexPathForSelectedRow()
cellViewController.something = self.dataTable[indexPath.row]
}
我想你需要一个UINavigationController来做到这一点。
在表视图委托中,当您按 Tab 键行时,在此处显示视图控制器
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
self.navigationController?.pushViewController(yourViewController, animated: true)
}
但是,您需要先有一个导航控制器来包装表视图控制器。还可以通过在情节提要中通过将导航控制器拖动到情节提要来执行此操作,默认情况下会附加表视图控制器。并将导航控制器作为选项卡链接到选项卡栏控制器。