我想使用 swift 构建一个具有以下结构的应用程序:
- 登录/注册屏幕
- 主屏幕左侧有滑出菜单
- 菜单中的不同页面 ->与主屏幕相同的级别
![结构图片][1]
抱歉,发布图像
的声誉不足
这是一个例子,但我不明白。
GitHub-Link
![控制器结构图片][2]
为什么登录屏幕是导航控制器的根视图控制器?
为什么菜单的其他控制器(好友、个人资料)上没有"后退"按钮?
我可以从登录到 Profil 中删除 segue,并且该应用程序仍然可以正常工作......这是一个正常的推送序列。我不明白续集是做什么的。
我以为每个不是导航控制器的 rootview 控制器的控制器都会被按下堆栈和一个"后退"按钮......
我应该将登录和注册屏幕拆分为两个不同的控制器吗?
我的建议:
1. 登录屏幕/注册屏幕
=> 导航控制器
的模态续集2. 导航控制器 => 根视图控制器:第 1
页但是我应该如何实现第 2 页、第 3 页,...与第 1
页处于同一层次结构级别
您将如何构建控制器?
[1]: http://i.imgur.com/qHMy6zs.png
[2]: http://i.imgur.com/wdOGCGa.png
期待您的回答!
一月
为什么登录屏幕是导航控制器的根视图控制器?
它不一定是,这是一个设计决定,我个人不会那样做。
为什么菜单的其他控制器(好友、个人资料)上现在有"后退"按钮?
将视图控制器推送到 UINavigationController 将自动执行此操作,除非您指定后退按钮不应出现在被按下的视图控制器中。UIViewControllers有一个名为UINavigationItem的属性,您可以在其中将后退按钮设置为隐藏。看这里。
我以为每个不是导航控制器的 rootview 控制器的控制器都会被按下堆栈和一个"后退"按钮......
是的,没错,您刚刚回答了您之前的一个问题。
我应该将登录和注册屏幕拆分为两个不同的控制器吗?
是的,这通常是一个好主意。为每个视图和视图控制器提供单独的视图和视图控制器。这也取决于您的 UI 设计。
您将如何构建控制器?
您的应用程序似乎有多个菜单和不同的部分。在这种情况下,将UITabBarController与多个UINavigationController(每个选项卡一个导航控制器)结合使用可能是一种方法,我以前使用过这种技术并且效果很好。
如果我根据您的图像弄错了,而您实际上只有一个主菜单,那么坚持只有一个UINavigationController,只需推送和弹出视图控制器,则每个视图/页面都有一个视图控制器/视图。
最好的办法是阅读有关UINavigationController和UITabBarController的信息,并确定什么适合您希望如何布局视图/设计。