我偶尔会看到错误消息:
CGAffineTransformInvert: singular matrix
在Xcode的日志记录区域。当我在UIWebView中调整网站大小时,这似乎很少发生(幸运的是)。 [商业网站,不是我自己的。]由于我在我的应用程序中没有进行仿射转换,我想知道这可能是UIWebView的错误/功能。如果是这样,我可以忽略它,因为它似乎没有干扰任何东西吗?
答案 0 :(得分:8)
通过查看其他帖子,如果您尝试将缩放比例设置为零,则会显示此消息。当您捏合并查看它是否为零时(并且在仿射变换错误的同时发生),NSLog对缩放值有用。
答案 1 :(得分:3)
尝试使用真正接近零的值:
#define kNearZeroValue 0.001f
答案 2 :(得分:2)
当在代码中的某处转换矩阵时,这是affine transformations的问题。
所以基本上代码试图转换singular matrix(行列式为0),这是无效的。所以你应该避免像:
这样的矩阵0 0 0
0 0 0
0 0 1
通过检查它是否是基于其determinant的奇异3x3矩阵来实现类似的。对行列式执行操作的行为被认为是数学违规,其行列式为零(类似于除以零)。
如果您正在使用uiscrollview课程,请确保您未使用setZoomScale:animated:
方法或zoomScale
属性将实例扩展为0,因此请检查您的滚动条视图(将zoomScale
,minimumZoomScale
和maximumZoomScale
设置为至少0.1)。
答案 3 :(得分:0)
对于每个webView执行:
webView.scrollView.minimumZoomScale = 0.1;
或任何其他大于零的数字。