gpt4 book ai didi

ios - 什么时候应该使用导航 Controller ?

转载 作者:IT王子 更新时间:2023-10-29 08:11:02 24 4
gpt4 key购买 nike

我不知道什么时候应该使用 Navigation Controller 而不是将 segue 与普通 View Controller 一起使用?如果使用 segue,Modal 和 Push segue 有什么不同?

你能举个例子吗?

最佳答案

简短回答:仅使用带“显示”segue 的导航 Controller 来实现 DRILL DOWN 行为。

例如, 导航 Controller → 作者 → 图书 → 图书

  • 对于“根”(作者)以下的每个级别,导航 Controller 自动添加标题栏和后退按钮。所以在 Books 上,后退按钮自动命名为“

  • subview Controller 必须与 SHOW segues 连接 -- show segues 告诉 Navigation Controller“这是父子关系”并导致预期的 slide-in-from-正确的过渡。 (要跳出层次结构,例如,Books → Login,请改用模式转场。)

  • Root View Controller 有一个导航栏,您可以向其中添加更多栏按钮,但 subview Controller 没有,因为它是自动添加的。

食品追踪器示例

现在苹果 Start Developing iOS Apps (Swift) 中 FoodTracker 教程的布局看起来很奇怪可以解释。 **第二个嵌套的导航 Controller 有什么用?这只是一个简单的膳食列表:点击一餐以在膳食详细信息中显示它,或者点击添加到并且膳食详细信息变为添加膳食。

FoodTracker Storyboard

  • 第一个 Navigation Controller 使 My Meals 成为向下钻取层次结构的根,以便从那里“推送”任何数量的 View (不需要更多的 Navigation Controller 就可以做到这一点)。

  • 但是,Meal Detail 用于显示现有膳食和添加新膳食。要添加新餐,需要取消和保存按钮。第二个 Navigation Controller 允许通过将 Meal Detail 作为根来添加这些按钮(参见上面的第 3 点)。

  • 显示现有餐点是推送转场,而添加餐点是模态转场(新餐点不是向下钻取)。这一点很重要:无法直接按下“添加餐点”的原因是自动后退按钮(“<我的餐点”)变得不明确:它是保存还是取消?

因为“导航”和“推送”是非常笼统的术语,而且因为有一个免费的后退按钮很好,所以很容易认为导航 Controller 是从任何地方到任何地方,但这种行为只是为了层次遍历.

(这是一个老问题,但我作为 iOS n00b 也对此感到困惑,就像 OP 我仍然有疑问。)

关于ios - 什么时候应该使用导航 Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14977164/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com