CGAffineTransformInvert:奇异矩阵(CGAffineTransformInve

2019-06-27 03:35发布

我已经偶尔看到的错误信息:

CGAffineTransformInvert: singular matrix

在Xcode的伐木区。 这似乎发生(很少,幸好)当我掐来调整一个UIWebView内的网站。 [商业网站,不是我自己的。由于我没有做仿射变换在我的应用程序,我想知道如果这可能是一个UIWebView的一个bug /功能。 如果是的话,我可以忽略它,因为它似乎并没有与任何干扰?

Answer 1:

从其他职位东张西望,似乎如果你尝试和缩放比例设为零,你会得到这个消息。 当你捏将是有益的NSLog的刻度值,看看它是否得到为零(在仿射变换误差同时出现)。



Answer 2:

尝试使用接近零值,一个真正的,则:

#define kNearZeroValue 0.001f


Answer 3:

这是问题的仿射变换代码转换某处矩阵时。

所以基本上代码试图变换奇异矩阵 (行列式是0),这是无效的。 所以,你应该避免这样的矩阵:

0 0 0
0 0 0
0 0 1

并通过检查它是否是基于其独特的3x3矩阵类似的决定 。 它被认为是一个数学违反为零的行列式(类似于除以零)上的矩阵执行操作。

如果您使用的UIScrollView类,确保你不结垢实例0或者使用setZoomScale:animated:方法或zoomScale财产,所以请检查您的滚动视图(设置你的zoomScaleminimumZoomScalemaximumZoomScale设置为至少0.1) 。

来源: CGAffineTransformInvert -奇异矩阵错误



Answer 4:

对于每一个web视图做:

webView.scrollView.minimumZoomScale = 0.1;

或其他任何大于零的数字。



文章来源: CGAffineTransformInvert: singular matrix
标签: ios uiwebview