- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在寻找一个 segue 来用另一个使用 curl 动画的 View Controller 替换窗口的 Root View Controller 。我的想法是,在转换 (performSegueWithIdentifier:
) 到下一个 LoginViewController
之前,我有一个显示几秒钟的 SplashViewController
,使用 curl 动画。
我创建了一个名为 AnimatedSegue
的自定义 UIStoryboardSegue
类。以下是重写的 perform
方法的代码:
- (void)perform
{
UIViewController *source = self.sourceViewController;
UIViewController *destination = self.destinationViewController;
UIWindow *window = source.view.window;
[UIView transitionFromView:source.view
toView:destination.view
duration:1.0
options:UIViewAnimationOptionTransitionCurlUp
completion:^(BOOL finished) {
[window setRootViewController:destination];
}];
}
除了在 iOS 6 中(显然不是在 iOS 5 中),viewWillAppear:
方法在 destination
View Controller 上被调用两次外,它工作正常。似乎它在转换期间第一次被调用,第二次在执行 [window setRootViewController:destination];
请注意,我不想使用导航 Controller 。转换结束后,SplashViewController
将被释放(如预期)。
关于如何解决我的问题有什么想法吗?
最佳答案
回答我自己的问题,以防它可以帮助别人......
我最终使用了 Core Animation 的CATransition
类来创建 segue 的动画而不是 UIView
的动画方法。
下面是我的新 perform
方法的样子:
- (void)perform
{
UIViewController *source = self.sourceViewController;
UIWindow *window = source.view.window;
CATransition *transition = [CATransition animation];
[transition setDuration:1.0];
[transition setDelegate:self];
[transition setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear]];
[transition setType:@"pageCurl"];
[transition setSubtype:kCATransitionFromBottom];
[window.layer addAnimation:transition forKey:kCATransition];
[window setRootViewController:self.destinationViewController];
}
关于objective-c - 使用 transitionFromView 使用自定义 segue 动画调用 viewWillAppear 两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12941169/
在我之前的项目中,我成功地使用了 transitionFromView,现在我今天创建了新项目,这次启用了 ARC,我复制并粘贴了旧代码,但它不起作用。我设置了一个断点,一步步执行,但没有成功。 工作
我是 iOS 编程的新手。我被困在一个(我确定)非常简单的问题上。不知道我做错了什么...... -我的 viewDidLoad: [super viewDidLoad]; CGRect frame
使用 UIView.transitionFromView 后,“fromView”会发生什么变化?你怎么把它拿回来? (重新初始化它?)。 这是我制作的一个简单示例,当我尝试返回“fromView”或
我想使用UIView的transitionFromView方法来动画 View 并在完成时捕获事件。有人可以发布一个例子吗? 谢谢! F。 最佳答案 -(IBAction) anAction:(id)
我正在使用一个 Controller (MAIN)来管理如何在其主视图中呈现另外 2 个 Controller (A 和 B) View 。在主 Controller View 中,我在主视图 xib
我正在使用 UIView transitionFromView 在两个 View 之间切换。我目前正在 UIView 子类中执行以下操作: UIImageView *imgView = [[UIIma
我在使用 TransitionfromView 时在我的应用中的 View 之间进行转换时遇到问题。 设置 这是 View Controller 的基本设置。它有两个 View 。一个 MKMapVi
代码如下: [UIView transitionFromView:mapView toView:tableView duration:5.0 options:UIViewAnimationOption
我使用transitionFromView:toView:duration 在一个 View 和另一个 View 之间翻转。 我的源 View 位于其父 View 的中心。我还想将目标 View 居中
transitionFromView:toView:duration:options:completion:是否类似于[self.view addSubview:secondView]; RootVi
我对 swift 有一个奇怪的问题。我试图翻转两个 View ,而不是整个屏幕,但它会翻转整个屏幕。 以前在这里问过,但没有回答: flip animation in swift flips whol
我正在使用这段代码在 2 个 UIView 之间切换: UIViewAnimationOptions animationType = UIViewAnimationOptionTransitionFl
这是我在 stackoverflow 上的第一篇文章。我是 iOS 开发新手,我的母语不是英语,所以我会尽力解释我的问题。 问题: 我已将两个 View 添加到我的 AppDelegate 窗口,我想
在布局约束下使用 [UIView transitionFromView:toView:...] 的正确方法是什么? 我想在 super View 中安装约束来约束 toView。在转换调用之前我不能这
我正在尝试在两个 subview (view1 和 view2)之间创建一个过渡。当按下按钮时,我希望 view1(正面)翻转并显示 view2(背面)。我已经尝试过 transitionFromVi
我有一个小 View 和一个大 View ,想在它们之间翻转动画,作为选择切换(在不同的按钮上)。我正在使用 UIView 转换 block 方法,翻转实际上是正确发生的。 但是,在过渡期间,较大的
在 UIView 容器中的两个 subview 之间切换时出现奇怪的错误。请注意,这两个 subview 是相同的 View Controller 类型(相同的 View ),唯一的区别是标签,它由属
关于 transitionFromView:toView:duration:options:completion: Apple 文档在最后几行中这样说: This method modifies th
我如何取消动画并开始使用 transitionFromView:toView:duration:options:completion?实际上我想要的是避免在动画被取消时调用完成 block ,只是因为
我目前有一个包含在 View 中的 View 。主视图 Controller (父 View )有一个属性,该属性在界面生成器中连接到 subview 。 subview 包含一个按钮。我希望按钮在保
我是一名优秀的程序员,十分优秀!