2010-05-03 53 views
13
-[<CALayer: 0x5584190> display]: Ignoring bogus layer size (255211754908294243945860531626574872576.000000, 340282346638528859811704183484516925440.000000) 

任何人都可以告訴我這是什麼警告?該應用程序在某些顯示此設備的設備上崩潰..- [<CALayer:0x5584190>顯示]:忽略僞層大小

任何建議都會非常有幫助。

回答

9

我認爲這是由於圖層太大而造成的,我期望這會導致緩衝圖像的問題進行繪製。

我有這個問題有很大的UIView相對簡單的圖形,並通過使用CATiledLayer

要做到這一點解決了這個問題,包括在你的UIView子類以下,使瓦片:

+ (Class)layerClass { 
    return [CATiledLayer class]; 
} 
+0

它的工作謝謝!投票了! – Developer 2013-05-24 06:44:38

2

我花了一點時間,試圖找到答案類似的問題,我得到:

[<CALayer: 0x37d540> display]: Ignoring bogus layer size (nan, nan)

但只在設備上,而不是在模擬器上。 我的問題是由於我從applicationCacheDirectory加載圖像的事實,事實證明這些文件在我的項目主管中混合了大寫和小寫。但是在設備上的緩存目錄中,它們全部更改爲小寫。希望這有助於未來的人。

1

我有同樣的錯誤與* UISegmentedControl工作,我就是用這個方法自定義文本,而:

[segmentedControl setTitleTextAttributes:(@{UITextAttributeFont: [UIFont regularFontWithSize:13.f], 
               UITextAttributeTextColor: controlsSelectedColor, 
               *UITextAttributeTextShadowOffset:* **@0**}) forState:UIControlStateNormal]; 

錯誤也只發生在設備上,是因爲不正確的attributedText參數的UITextAttributeTextShadowOffset 我已經設置了一個NSNumber,但根據documentation它應該是UIOffset結構包裝與NSValue。 我已經將它更改爲[NSValue valueWithUIOffset:UIOffsetZero]它工作。 問題是爲什麼它不能在模擬器上工作。

因此,如果您使用過它,請檢查您的歸屬文本。它可能是這樣的魔法。

希望這有助於。

0

我在使用-UIViewShowAlignmentRects YES作爲啓動變量時遇到此問題。當我關掉它時,問題就消失了。 Xcode中的錯誤?

3

我剛剛在彈出窗口中顯示的視圖控制器中遇到此錯誤。彈出窗口出現時會出現「忽略虛假層大小」錯誤,並且因此視圖控制器中的文本字段未呈現其文本。

在我的情況下,將textField.becomeFirstResponder()呼叫從viewWillAppear移至viewDidAppear解決了問題。

+0

爲我工作 – 2016-01-06 14:42:44

1

我有一個嵌入在導航控制器中的TableViewController的細節VC的時候遇到這個問題。從演出改變(推)到顯示(細節)修復它。確保並清潔。

+0

我也有這個問題。它通過消除所有約束並重新創建來修復。他們看起來是正確的,但我一定做了一些錯誤,這些只在導航控制器內部變得明顯。 – 2016-02-28 20:46:45