我正在构建一个显示来自多个API的统计信息的移动应用程序。 该应用程序根据活动的API显示不同的值。在运行时,用户可以选择要显示其值的API。但是,这些值始终显示在同一个目标视图控制器中。将Seques与UINavigationController结合
UINavigationController正在使用,我想推迟导航和导航UI,如果可能的话,即使UITableViewControllers支持导航栏。
请在问题结尾处查看故事板设计图片。
环境:的iOS 9 /夫特2.2/7的XCode
在运行时,用户将选择从选择控制器选择视图控制器。 通过“完成”UIBarButton从选择视图控制器中的一个继续到目标控制器的适当方式是什么?目标控制器不会更改。
我是否必须以编程方式为嵌入UINavigationController中的每个控制器定义正确的bar按钮以“完成”?
class UIViewController: UITableViewController { override func viewWillAppear(animated: Bool) { super.viewWillAppear(animated) self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Done", style: UIBarButtonItemStyle.Plain, target: self, action: nil) } }
其实想要从Choice控制器转到目标控制器。是最好的选择:self.navigationController.pushViewController(targetViewController)。这具有以编程方式定义视图控制器转换的缺点。 – Alex
如果要将其保留为导航堆栈的一部分,可以将其推入堆栈。否则,这只是一个使用segue的问题,并且您有几个实现segse的选项,如果您愿意,也可以不使用代码。另外,在我看来,以编程方式进行并不是一个“缺点”。这是做同样事情的另一种方式。 – NonCreature0714