【问题标题】:How to structure controllers using swift?如何使用 swift 构造控制器?
【发布时间】:2015-01-23 13:47:55
【问题描述】:

我想使用 swift 构建一个具有以下结构的应用程序:

  1. 登录/注册屏幕
  2. 主屏幕左侧有滑出菜单
  3. 菜单中的不同页面 -> 与主屏幕相同的级别

![结构图][1]
// 抱歉发布图片的声望不够

这是一个例子,但我不明白。
GitHub-Link
![控制器结构图][2]

为什么 Login-Screen 是 Navigation Controller 的 rootViewController?
为什么菜单的其他控制器(朋友、个人资料)上没有“返回”按钮?
我可以从 Login 中删除 segue 到 Profil 并且该应用程序仍然可以正常工作......这是一个正常的推送 segue。我不明白那续集是做什么的。

我认为不是导航控制器的 rootviewcontroller 的每个控制器都会被推送到堆栈和一个“后退”按钮...

我应该将登录和注册屏幕分成两个不同的控制器吗?

我的建议:
1.登录屏幕/注册屏幕
=> 导航控制器的模态segue
2. 导航控制器 => RootViewController:第 1 页
但是我应该如何在与第 1 页相同的层次结构中实现第 2 页、第 3 页、...

您将如何构建控制器?

[1]:http://i.imgur.com/qHMy6zs.png
[2]:http://i.imgur.com/wdOGCGa.png

期待您的回答!
一月

【问题讨论】:

    标签: swift controller ios8 navigationcontroller


    【解决方案1】:

    为什么Login-Screen是Navigation Controller的rootViewController?

    不一定,这是设计决定,我个人不会那样做。

    为什么现在在菜单的其他控制器(朋友、个人资料)上有“返回”按钮?

    将视图控制器推送到 UINavigationController 将自动执行此操作,除非您指定后退按钮不应出现在被推送的视图控制器中。 UIViewControllers 有一个名为 UINavigationItem 的属性,您可以在其中将后退按钮设置为隐藏。见here

    我认为不是导航控制器的 rootviewcontroller 的每个控制器都会被推送到堆栈和一个“后退”按钮...

    是的,没错,你刚刚回答了你之前的一个问题。

    我应该将登录和注册屏幕分成两个不同的控制器吗?

    是的,这通常是个好主意。每个人都有一个单独的视图和视图控制器。这也取决于您的 ui 设计。

    您将如何构建控制器?

    您的应用似乎有多个菜单和不同的部分。在这种情况下,将 UITabBarController 与多个 UINavigationControllers(每个选项卡一个导航控制器)结合使用可能是一种方法,我以前使用过这种技术并且效果很好。

    如果我根据您的图像弄错了,而您实际上只有一个主菜单,然后坚持只使用一个 UINavigationController 并推送和弹出视图控制器,那么您的应用程序的每个视图/页面都有一个视图控制器/视图。

    最好的办法是阅读有关 UINavigationControllerUITabBarController 的信息,然后确定适合您的视图/设计布局方式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多