我需要浏览目录中的文件夹和文件(从服务器)。问题是我不知道文件夹的数量,因此无法静态使用performSegueWithIdentifier
。如何在swift中使用动态数量的视图控制器的导航控制器?每次用户点击一个文件夹以列出其中的文件/文件夹时,我想要“推”一个新的视图控制器,并且我想用UINavigationController来做到这一点,以便用户有可能返回“上一个”按钮。用于无限导航的UINavigationController(嵌套文件夹)
故事板和编程方式都可以。
谢谢你
我需要浏览目录中的文件夹和文件(从服务器)。问题是我不知道文件夹的数量,因此无法静态使用performSegueWithIdentifier
。如何在swift中使用动态数量的视图控制器的导航控制器?每次用户点击一个文件夹以列出其中的文件/文件夹时,我想要“推”一个新的视图控制器,并且我想用UINavigationController来做到这一点,以便用户有可能返回“上一个”按钮。用于无限导航的UINavigationController(嵌套文件夹)
故事板和编程方式都可以。
谢谢你
故事板和segues只是一个拐杖。想想如果没有他们,你会怎么做。在每个级别,为了降低级别,您只需实例化一个新的视图控制器并使用pushViewController:animated:
将其推入导航控制器堆栈。
而事实上,只需要一个视图控制器类要做到这一点,因为任何情况下可以创建和推动其自己的类的另一个实例。一个文件夹的显示与其他显示完全相同。
所以,如果你想在故事板中配置这个概念,你将会有一个圆形的继续,也就是说,视图控制器将有一个推动/显示继续,导致本身。
我同意@ matt的回答,刚创建控制器并推即可。为了完整性,您可以在的中使用segue在Storyboard中执行此操作。
方法如下:
"Show"
。"showFolderSegue"
。self.performSegueWithIdentifier("showFolderSegue", sender: self)
prepareForSegue
来设置新的tableViewController。该方法也适用于单个tableViewController。
其实我以编程方式做了,但是我遇到了一个问题。我的班级有一个我在表格视图中显示的对象列表。当用户点击一个文件夹时,我实例化一个新的视图控制器,并将其推入导航控制器中。现在,当你使用“返回”按钮时,包含对象的数组结果不正确,它不包含之前的对象列表!你有什么主意吗?我的代码是: let storyBoard = UIStoryboard(name:“main”,bundle:nil) let vc = storyBoard.instantiateViewControllerWithIdentifier(“id”)as! CustomVC vc.listOfFiles = sefl.listOfFiles –
这听起来对我来说是正确的。如果它继续混淆你,这听起来像是一个新问题的好话题。 – vacawama
谢谢你,那就对了。我解决了推视图控制器的新实例! –