【发布时间】:2014-01-10 23:23:03
【问题描述】:
我正在处理一个不适合任何标准 Apple ViewControllers 的应用程序中的几个视图,我正在为我的问题寻找最佳解决方案。
这是一个快速模型:
http://pl.tinypic.com/r/2va1kbc/5
我有一个主 ViewController,它由两部分组成:
1. 顶部始终可见,包含一些徽标
2. 正在变化的内容部分 - 每个内容都是一个类(扩展 UIViewController)
现在棘手的部分是我想在内容更改之间做一些动画 - 当用户单击第一个按钮时,顶部向下滑动 - 将当前 viewController 向下推,覆盖全屏,然后使用新的 viewController 内容向上滑动.
所以问题是如何构建它,以便以后易于使用和扩展(如 UINavigationController)。
我创建了一个主视图作为 UIViewController 并添加了 topView 使用:
LogoUIViewController *logoViewController = [[LogoUIViewController alloc] init];
[self.view addSubview:logoViewController.view];
LoginViewController *loginViewController = [[LoginViewController alloc] init];
loginViewController.delegate = self;
[self.view addSubview:loginViewController.view];
我正在使用委托来初始化主视图控制器上的转换,因为我找不到更好的方法。
但由于这些问题,我坚持使用该解决方案:
1. 如何让内容视图控制器只使用屏幕的一部分(改变它的大小)?
2. 如何为这 2 个视图设置动画,使其看起来像顶层正在推开内容?
3. 如何以简单的方式交换视图(如 UINavigationController popViewController 方式)并在它们之间自动初始化动画。
我知道这是 3 个问题,但我认为可以通过构建主视图控制器的更好方法来解决。有没有人使用过这样的自定义导航系统?
【问题讨论】:
标签: ios objective-c cocoa-touch uiviewcontroller