【发布时间】:2011-05-01 13:59:18
【问题描述】:
我是 Objective-C 编程的新手,我在理解如何在两个视图之间转换时遇到了一点麻烦。
基本上,我有我的主视图(应用程序打开时加载的视图),我想在按下按钮时转换到新视图。用户将不需要在按下按钮后返回主视图——它基本上是一个标题屏幕。
有人可以简要解释一下我需要采取哪些步骤来实现这一点吗?
非常感谢。
【问题讨论】:
标签: objective-c cocoa-touch ios views transition
我是 Objective-C 编程的新手,我在理解如何在两个视图之间转换时遇到了一点麻烦。
基本上,我有我的主视图(应用程序打开时加载的视图),我想在按下按钮时转换到新视图。用户将不需要在按下按钮后返回主视图——它基本上是一个标题屏幕。
有人可以简要解释一下我需要采取哪些步骤来实现这一点吗?
非常感谢。
【问题讨论】:
标签: objective-c cocoa-touch ios views transition
你可以使用 UIView 的类方法transitionFromView:toView:duration:options:completion:。 从 viewA 切换到 viewB 的调用可能如下所示:
[UIView transitionFromView:viewA
toView:viewB
duration:1.0
options:UIViewAnimationOptionTransitionFlipFromLeft
completion:^(BOOL finished){
[viewA release];
}];
正如你提到的,用户不会回到主视图,我在完成参数中添加了一些东西,以便之后摆脱 viewA。
您可以找到动画选项in the constants of the UIView class 文档。
【讨论】:
如果它将是一个模态视图,您可以推送一个新的模态视图控制器,然后在工作完成后弹出该控制器。这些通常用于少量工作
[container presentModalViewController:yourNavigationViewController animated:YES];
否则您可以使用两个 UIView 转换类方法修改 UIView 堆栈:
+ transitionWithView:duration:options:animations:completion:
+ transitionFromView:toView:duration:options:completion:
有关这些的更多信息,请查看 Apple 的 UIView 类文档。
【讨论】:
如果你不只是想复制和粘贴代码,你应该按照 Apple 的示例代码一步一步来,记住你可以下载它:
ViewTransitions sample application
ViewTransitions 示例应用程序演示了如何使用内置的核心动画转换在两个视图之间执行转换。通过查看代码,您将了解如何使用 CATransition 对象来设置和控制转换。
【讨论】: