【问题标题】:What is "pushing" a view controller?什么是“推”视图控制器?
【发布时间】:2012-11-26 18:49:55
【问题描述】:

我意识到这是一个非常明显的问题,但我认为不完全理解答案会阻碍我很好地使用 Stack Overflow。我不断看到答案中使用的术语,并认为我理解它的含义,但后来我在不同的答案中看到它,并认为它一定意味着不同的东西。

我要询问的具体上下文是这样的,所有这些都是我使用 Interface Builder 完成的:

我编写了一个单视图应用程序,使用工具栏在几个屏幕之间导航,但将所有 UI 元素放在同一个视图上,并将所有方法放在同一个视图控制器中。这真的很混乱。

然后我从头开始使用带有故事板的选项卡式应用程序,现在每个屏幕都有自己的视图和视图控制器。这看起来更干净,但我讨厌标签栏的外观。

所以我试图弄清楚如何使用工具栏再次执行此操作,但这次在每个屏幕的不同视图/视图控制器之间切换。而且我认为理解“推送”视图控制器的含义将帮助我找到答案。

感谢您耐心解答这样一个基本问题。

【问题讨论】:

    标签: objective-c ios xcode model-view-controller uiviewcontroller


    【解决方案1】:

    “Pushing”专门指将视图控制器添加到导航控制器的堆栈中,这会导致该控制器的视图从右侧滑到屏幕上(如果它是动画的)。 SO 上的一些人粗略地使用该术语(我会说不正确)来表示只是在屏幕上显示一个控制器。

    【讨论】:

      【解决方案2】:

      “推送”视图控制器通常在导航控制器的上下文中使用 (UINavigationController)。你从根视图控制器开始。然后,您将下一个视图控制器“推”到当前视图控制器之上。完成后,您可以“弹出”该视图控制器以返回到前一个。

      我建议您阅读“View Controller Programming Guide for iOS”,了解有关视图控制器、导航控制器、标签栏控制器等的良好讨论。在你这样做之前你会迷路的。

      【讨论】:

      • 谢谢!我去看看那个链接。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-04-24
      • 1970-01-01
      • 2012-05-09
      • 2016-10-22
      • 2010-12-11
      • 1970-01-01
      相关资源
      最近更新 更多