HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 带缩放动画的pushViewController,显示背景大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经找到了用缩放动画调用pushViewController的方法,
喜欢facebook iPhone app主菜单图标点击动画.
(新的viewController从中心弹出,并缩放到原始大小.)

搜索了几种方法来改变pushViewController的动画.

首先,我试过这个:

viewController.view.transform = CGAffineTransformMakeScale(0.5f,0.5f);
[UIView animateWithDuration:0.5f animations:^{ 
    viewController.view.transform = CGAffineTransformMakeScale(1.0f,1.0f);
}];
[self.navigationController pushViewController:viewController animated:NO];

但是有问题,
动画启动时,旧的viewController消失,只有白色背景.

如果我使用CATransition来改变动画,
我可以显示旧的和新的viewController,
但是没有缩放动画,只有移动,推入,淡入动画.

我想展示新的&旧视图控制器,如CATransition动画,
并需要实现我的自定义动画的方法.

这是我的最后一个建议,脏的方式:

[self.view addSubview:viewController.view];
viewController.view.transform = CGAffineTransformMakeScale(0.5f,0.5f);
[UIView animateWithDuration:0.5f
                      delay:0.0f
                    options:UIViewAnimationCurveEaseInOut
                 animations:^{
    viewController.view.alpha = 1.0f;
    viewController.view.transform = CGAffineTransformMakeScale(1.0f,1.0f); 
} completion:^(BOOL finished) {
    [self.navigationController pushViewController:viewController animated:NO];
    [viewController release];
}];

首先,我添加了新的viewController.view作为子视图,我可以@R_696_11350@ew& amp;老观点.
动画结束后,再推送pushViewController.

这样我就能实现我的想法,
但我认为这是肮脏的方式,并且仍有问题:

导航栏项目不会立即更改,动画结束后会更改.

有没有简单明了的方法来实现这个动画?
我认为如果不改变pushViewController的原始实现,就不可能做到这一点,我应该继承pushViewController吗?

感谢阅读和您的帮助.

解决方法

我不认为动画是用视图控制器完成的.您可以保留现有的视图控制器.创建一个应该放大的新UIView.将新的UIView添加到现有的视图控制器并对其应用动画.

大佬总结

以上是大佬教程为你收集整理的ios – 带缩放动画的pushViewController,显示背景全部内容,希望文章能够帮你解决ios – 带缩放动画的pushViewController,显示背景所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。