7

ときどきエラー メッセージが表示されることがあります。

CGAffineTransformInvert: singular matrix

Xcode のロギング領域。これは、UIWebView 内の Web サイトのサイズを変更するためにピンチしたときに (まれに、幸いなことに) 発生するようです。[私自身のものではなく、商用の Web サイトです。] アプリでアフィン変換を行っていないため、これは UIWebView のバグ/機能ではないかと考えています。もしそうなら、何も干渉していないように見えるので無視してもいいですか?

4

4 に答える 4

9

他の投稿を見回すと、ズーム スケールをゼロに設定しようとすると、このメッセージが表示されるようです。ピンチしたときにスケール値を NSLog して、ゼロになるかどうかを確認すると便利です(アフィン変換エラーと同時に発生します)。

于 2012-10-12T14:39:16.103 に答える
3

次に、実際のゼロに近い値を使用してみてください。

#define kNearZeroValue 0.001f
于 2013-03-13T13:31:11.563 に答える
2

これは、コードのどこかで行列を変換するときのアフィン変換の問題です。

したがって、基本的に、コードは無効な特異行列(行列式は 0) を変換しようとしています。したがって、次のようなマトリックスは避ける必要があります。

0 0 0
0 0 0
0 0 1

同様に、行列式に基づいて特異な 3x3 行列かどうかを確認します。行列式がゼロの行列に対して演算を実行することは、数学的な違反と見なされます (ゼロによる除算と同様)。

クラスを使用している場合は、setZoomScale:animated:メソッドまたはプロパティを使用してインスタンスを 0 にスケーリングしていないことzoomScaleを確認してください。そのため、スクロール ビューを確認してください (とを少なくとも 0.1 に設定してください) zoomScaleminimumZoomScalemaximumZoomScale

ソース: CGAffineTransformInvert - 特異行列エラー

于 2016-07-21T12:18:11.923 に答える
1

各 webView に対して次のことを行います。

webView.scrollView.minimumZoomScale = 0.1;

またはゼロより大きいその他の数値。

于 2013-07-13T12:16:48.830 に答える