我在layoutSubViews:
覆盖UIScrollView
,并且我不时地为每个我重新定位的子视图获得“CGAffineTransformInvert:singular matrix”。然而,布局看起来完全没问题。
该应用程序也不会崩溃。
有人知道是什么原因引起的吗?
答案 0 :(得分:30)
我曾经有过这个错误,因为错误是在使用
时设置了大小为0的字体[UIFont fontWithName:size:]
表示UILabel。
答案 1 :(得分:16)
如果其他人正在努力解决这个问题(如果不是因为将标签字体大小设置为0),那么当layoutSubViews:
在视图上运行时,“CGAffineTransformInvert:singular matrix”似乎会出现(例如作为UIScrollView
或UILabel
),其大小为(0,0)。
让我永远明白,因为如果您的容器视图(例如滚动视图)未设置为剪辑子视图,则布局仍然可以正常显示。
答案 2 :(得分:4)
当我向我的self.view添加UIWebView时,我也看到了这个问题。
违规代码是:
UIWebView *wv = [[UIWebView alloc]init];
,解决方案是:
UIWebView *wv = [[UIWebView alloc]initwithFrame:[[UIScreen mainScreen]bounds]];
或除0.0之外的任何帧大小。
答案 3 :(得分:0)
在我的应用程序中,我遇到了这个错误,因为我忘记在重写的-layoutSubViews方法中调用superClass的-layoutSubViews,
所以在被覆盖的方法
中的任何一点拨打电话[super layoutSubViews]