首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >CGAffineTransformMakeScale动画不工作

CGAffineTransformMakeScale动画不工作
EN

Stack Overflow用户
提问于 2014-09-03 20:37:01
回答 2查看 3.1K关注 0票数 12

我有一个具有视图的视图,在删除它之前,我将使用UIView动画将其缩小到0。我解雇它的代码是:

代码语言:javascript
运行
复制
[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)比例,有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-07 15:46:18

因此,在与苹果公司的一位开发人员交谈后,我得到的理由是,一些基本框架需要经常处理转换矩阵的逆函数,而且由于零矩阵没有逆,所以动画只是为了避免崩溃而返回。希望这篇文章能帮助那些遇到类似情况的人。

票数 11
EN

Stack Overflow用户

发布于 2014-12-08 04:15:27

如果您可以接受,请将标度值设置为0.01,如下所示:

_menuContainerView.transform = CGAffineTransformMakeScale(0.01, 0.01);

Reference

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25653192

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档