如何在不按后退按钮的情况下从一个单元格导航到一行中的下一个单元格

时间:2017-07-17 21:52:32

标签: ios swift uitableview

我设计了一个appview,它有一个tableview单元格,每个单元格中都包含一个简单的标签。它们显示在另一个视图控制器中,但每次我想看到下一个单元格时,我都需要每次按后退按钮返回tableviewcell并单击第二个单元格等...你知道我能用什么功能吗?实现所以我可以从一个单元格导航到一行中的下一个单元格,而无需返回到tableviewcell,类似于app mail。希望大家能理解我在努力的方法:)。

我添加了一个图像以便更好地理解。红色是我采取的方式,绿色是我想要采取的方式,绿色圆圈是我正在考虑的功能。

谢谢!:) enter image description here

2 个答案:

答案 0 :(得分:0)

这是一个非常广泛的问题,但可以用非常一般的方式回答。

当您在表视图上点击一行并移动到下一个视图控制器时,您需要将相同的数据模型传递给用于填充表视图的新视图控制器。并且您需要将索引(或其他一些引用)传递给特定值以显示在新视图控制器上。

然后,您的向上和向下箭头只需使用数据模型中的上一条或下一条记录刷新视图控制器中显示的数据。您可以在到达第一个索引时禁用向上箭头,并在到达最后一个索引时禁用向下箭头。

答案 1 :(得分:0)

我创建了一个演示项目。你可以在:

找到它

https://appsint.nl/stackoverflow/NavigationDemoProject.zip

基本上就是这样:

//retrieve the new ViewController
let detailViewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "Detail") as! DetailViewController
detailViewController.option = newOption

//manipulate the NavigationController stack
var currentViewControllers = navigationController?.viewControllers
currentViewControllers?.removeLast()
currentViewControllers?.append(detailViewController)

//present the new stack
self.navigationController?.setViewControllers(currentViewControllers!, animated: false)

请记住,这只是一个实现,还有很多其他方式