CGAffineTransformInvert: singular matrix. 解决方案

这个错误叫奇异矩阵,

引起的原因有三种:

1  [UIFont fontWithName:@"AFontName" size:0]      你把字体的size设置为0了

2 你添加的view控件frame为0 例如:

I was seeing this problem too when I added a UIWebView to my self.view.
The offending code was:

UIWebView *wv = [[UIWebView alloc]init];
and the solution is:

UIWebView *wv = [[UIWebView alloc]initwithFrame:[[UIScreen mainScreen]bounds]];
or any framesize except 0.0.

3. UIScrollView, storyboard , autolayout 冲突,这个好像是苹果的问题,解决方法是
uncheck the "use autolayout" checkbox on storyboard properties

4.  如果你用webview 载入网页出现这样问题的话,是因为
CSS 設定 display: inline-block 而造成 Transform 错误(估计是苹果的bug)


解決方法是:
選擇一:不要用「display: inline-block」(這應該會是 Apple 會回答你的解決方案)。
選擇一:如果你跟我一樣,使用「display: inline-block」是為了要把 Element 排成橫的,那麼恭喜!你可以改用「display: table-cell」,效果一樣!



参考: 


http://stackoverflow.com/questions/7471027/overriding-layoutsubviews-causes-cgaffinetransforminvert-singular-matrix-ran
http://firchtsai.blogspot.com/2013/02/ios-cgaffinetransforminvert-singular.html

http://stackoverflow.com/questions/7471027/overriding-layoutsubviews-causes-cgaffinetransforminvert-singular-matrix-ran


I was seeing this problem too when I added a UIWebView to my self.view.

The offending code was:

<code style="margin:0px; padding:0px; border:0px; vertical-align:baseline; font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif; background-color:rgb(255,255,255)"><span style="font-size:18px;"><span class="typ" style="margin:0px; padding:0px; border:0px; vertical-align:baseline">UIWebView</span><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline"> </span><span class="pun" style="margin:0px; padding:0px; border:0px; vertical-align:baseline">*</span><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline">wv </span><span class="pun" style="margin:0px; padding:0px; border:0px; vertical-align:baseline">=</span><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline"> </span><span class="pun" style="margin:0px; padding:0px; border:0px; vertical-align:baseline">[[</span><span class="typ" style="margin:0px; padding:0px; border:0px; vertical-align:baseline">UIWebView</span><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline"> alloc</span><span class="pun" style="margin:0px; padding:0px; border:0px; vertical-align:baseline">]</span><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline">init</span><span class="pun" style="margin:0px; padding:0px; border:0px; vertical-align:baseline">];</span></span></code>

and the solution is:

<code style="margin:0px; padding:0px; border:0px; vertical-align:baseline; font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif; background-color:rgb(255,255,255)"><span style="font-size:18px;"><span class="typ" style="margin:0px; padding:0px; border:0px; vertical-align:baseline">UIWebView</span><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline"> </span><span class="pun" style="margin:0px; padding:0px; border:0px; vertical-align:baseline">*</span><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline">wv </span><span class="pun" style="margin:0px; padding:0px; border:0px; vertical-align:baseline">=</span><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline"> </span><span class="pun" style="margin:0px; padding:0px; border:0px; vertical-align:baseline">[[</span><span class="typ" style="margin:0px; padding:0px; border:0px; vertical-align:baseline">UIWebView</span><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline"> alloc</span><span class="pun" style="margin:0px; padding:0px; border:0px; vertical-align:baseline">]</span><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline">initwithFrame</span><span class="pun" style="margin:0px; padding:0px; border:0px; vertical-align:baseline">:[[</span><span class="typ" style="margin:0px; padding:0px; border:0px; vertical-align:baseline">UIScreen</span><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline"> mainScreen</span><span class="pun" style="margin:0px; padding:0px; border:0px; vertical-align:baseline">]</span><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline">bounds</span><span class="pun" style="margin:0px; padding:0px; border:0px; vertical-align:baseline">]];</span></span></code>

or any framesize except 0.0.

转载地址:http://blog.csdn.net/robincui2011/article/details/9365955

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值