【发布时间】:2015-09-16 01:57:24
【问题描述】:
我正在使用下拉菜单,想要实现与标签栏相同的行为。比如我想随时切换vc1,vc2,vc3,保留原始数据。我所做的是使用 willMoveToParentViewController。
func didSelectItem(indexPath: Int){
// Initialize View controllers
switch(indexPath){
case 1:
self.removeFromParentViewController()
vc1.title = "Learning Stories"
self.addChildViewController(vc1)
self.view.addSubview(vc1.view)
vc1.willMoveToParentViewController(self)
case 2:
self.removeFromParentViewController()
vc2.title = "Group Stories"
self.addChildViewController(vc2)
self.view.addSubview(vc2.view)
vc2.willMoveToParentViewController(self)
default:
self.removeFromParentViewController()
self.addChildViewController(vc3)
self.view.addSubview(vc3.view)
vc3.willMoveToParentViewController(self)
}
}
但是在 vc2 和 vc3 中,viewDidappear 只被调用一次,并且 viewDIdappear 永远不会被调用。我知道它应该只适用于 pop、present 等,但是标签栏是怎么做的呢?在切换每个视图控制器时保留数据。
【问题讨论】:
标签: ios swift uiviewcontroller