ios – CGAffineTransformMakeScale动画无效

我有一个视图控制器,我认为我将使用UIView动画来解散,将其缩小到0,然后再删除它.我的解雇代码是:
[UIView animateWithDuration:_dismissAnimationDuration
                      delay:0.0
                    options:UIViewAnimationOptionCurveEaseIn
                 animations:^(void) {
                     _menuContainerView.transform = CGAffineTransformMakeScale(0.0,0.0);
                 }
                 completion:^(BOOL finished){
                     if ([_delegate respondsToSelector:@selector(popUpMenuDidClose)])
                     {
                         [_delegate popUpMenuDidClose];
                     }

                     [self.view removeFromSuperview];
                     [self removeFromParentViewController];
                 }];

当从XCode 5构建到运行iOS 7和iOS 8的设备上时,这是非常有效的.但是,一旦我从XCode 6(beta 6和beta 7)构建到iOS 8,这个视图就会切换而不是动画.如果一旦将目标规模改为(0.001,0.001),那么这一点并不奇怪,无论XCode版本如何,它都会动态化.任何想法,为什么我不能用XCode 6动画实际(0.0,0.0)的比例?

解决方法

所以在与苹果公司的开发人员交谈之后,我回到的原因是,一些基本框架需要经常与变换矩阵的反转一起工作,而且由于零矩阵没有反向,所以动画只是退出来避免崩溃.希望这篇文章帮助那些遇到类似情况的人.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...