ios - iPhone : need simplest way to handle iOS navigation

标签 ios uinavigationcontroller storyboard uinavigationbar uibarbuttonitem

在我意识到导航按钮是必需的之前,我有一个相当大的应用程序,其中所有 View Controller 都通过 Storyboard连接连接。 我现在无法再删除所有场景并重新开始,也无法扩展 segue 方法,因为它被过度使用了。

我正在寻找小型、优雅的解决方案,该解决方案将允许我的所有 View Controller 进行向后导航。查看我的场景层次结构:

  • 第 1 页---> 第 2 页
  • 第 1 页---> 第 3 页 ---> 第 4 页
  • 第 3 页---> 第 5 页,依此类推。

所以我应该能够从第 5 页向后返回到第 1 页。 到目前为止我大约有 12 个屏幕。

我该怎么办? 我可以安全地搞乱 Storyboard吗? 或者我应该将代码片段添加到我的 viewDidLoads 等中来处理这些内容?

我的问题是,当我搜索解决方案时,我发现了太多的方法,包括导航 Controller 、uinavigationbar、UIBarButtonItem等等。对于它们中的每一个,我发现它可能太多了,无法满足我的需求,而我需要一个可能合适的较小的东西。

到目前为止,我可能只需要后退按钮,但只需付出最少的努力 - 因为我的截止日期非常紧迫:-(

感谢快速帮助。

最佳答案

我从苹果文档中找到了答案 - 基本上我需要一种方法来处理事情(而不是直接代码),这就是:

  • 在 appdelegate didFinishLaunchingWithOptions 方法中初始化 navcontroller,并将 Root View Controller 设置为应用的第一个 View Controller
  • 设置 appdelegate 窗口的 rootviewcontroller = navcontroller
  • 每次“向前”导航时 - 使用 PushViewController 和目标 View Controller
  • 无需处理向后导航 - navcontroller 默认会处理它。

上面还将在每个 View Controller 顶部添加额外的导航栏(应用程序委托(delegate)的 Root View Controller 除外)。

关于ios - iPhone : need simplest way to handle iOS navigation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12107833/

相关文章:

ios - 如何在点击时禁用 UIButton 突出显示?

ios - 在导航 Controller 中设置后退按钮的操作

ios - 将 nil 分配给强制解包选项不会导致代码崩溃,这是为什么呢?

ios - 使用 Swift 反转手势识别器时如何将信息传递回 iOS?

xaml - 如何在 XAML 中为矩形笔画粗细设置动画?

ios - 在使用带有后台配置的 URLSession 时如何处理用户终止应用程序?

ios - Swift-在标签栏 Controller 中自定义多个导航栏

iphone - Tabbar 应用程序中的 PopViewController

ios - 使用标签栏 Controller-> Nav controller -> View Hierarchy 从 app delegate 呈现 View - iOS Swift

c# - WPF Storyboard 动画不闪烁