我有一个视图控制器,其中有一个视图,在删除它之前,我使用 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) 比例,有什么想法吗?
因此,在与 Apple 的开发人员交谈后,我得到的理由是,某些基础框架需要经常处理变换矩阵的逆矩阵,并且由于零矩阵没有逆矩阵,因此动画只是返回以避免崩溃。希望这篇文章可以帮助遇到类似情况的其他人。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)