<Error>: CGAffineTransformInvert: singular matrix.

当设置缩放的比例为0时Xcode会提示这个信息:
- <Error>: CGAffineTransformInvert: singular matrix.

从网上搜了些资料: 
http://stackoverflow.com/questions/17145114/error-  cgaffinetransforminvert-singular-matrix
http://m.blog.csdn.net/article/details?id=9365955
这个错误叫奇异矩阵,
引起的原因有三种:
1  [UIFont fontWithName:@"AFontName" size:0]      你把字体的    size设置为0了
2 你添加的view控件frame为0 ...

解决方法: 临界值不要为0,可以设置0.0001接近0的就可以,不然不会产生效果,动画消失后,需要把消失的view从父控件中移除

以下代码我设置缩放为0时,就收到了这个Error,而且设置缩放的dismissView并未消失。

- (void)animationForDismissView:(id<UIViewControllerContextTransitioning>)transitionContext {

// 1.获取消失的view
UIView *dismissView = [transitionContext viewForKey:UITransitionContextFromViewKey];

// 2.执行动画
[UIView animateWithDuration:[self transitionDuration:transitionContext] animations:^{
## 错误 presentedView.transform = CGAffineTransformMakeScale(1.0, 0.0);
## 正确 presentedView.transform = CGAffineTransformMakeScale(1.0, 0.001);
} completion:^(BOOL finished) {
    // 动画执行完成移除消失的view
    [dismissView removeFromSuperview];
    // 告诉转场上下文动画已经结束
    [transitionContext completeTransition:YES];
}];

}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在iOS8上设置self.whiteLight.transform = CGAffineTransformMake...
    傅hc阅读 1,548评论 1 1
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,174评论 1 32
  • 1、近乡情怯景却美 2016年,高考结束,回到从前住的小镇里。彼时我高考失利,一头扎进了‘与世隔绝’的家乡,成日离...
    GalCb阅读 402评论 0 3
  • 谢谢妈妈给我生命,让我到人间走这一遭。 妈妈是一个非常勤劳的人,正是这一点导致我的懒惰。无论什么时候,妈妈总是比我...
    路语旁集阅读 89评论 0 0
  • 2017年第47本书 ________________________________ 《恰如其分的自尊》 荐 语...
    周国会阅读 928评论 0 0