我試圖繪製無限大的水平圖形,並且屏幕高度相同。我已經添加了一個UIScrollView,以及一個UIView的子類,它實現了-drawRect:
方法。在模擬器中,一切正常,但在設備上,似乎無法在達到一定大小後繪製圖形。如何在UIScrollView中滾動無限大小的UIView
我已經緩存了幾乎所有我可以使用的,基本上只調用-drawRect:
部分中的CGContextAddLineToPoint。我只畫出了屏幕上可見的內容。我有一個委託給UIScrollView,它監聽-scrollViewDidScroll:
,然後告訴圖形重繪自己([graphView setNeedsDisplay]
)。
我發現了一種方法,它告訴我重寫+layerClass
方法並返回[CATiledLayer class]
。這確實允許圖形在設備上實際繪製,但功能非常差。實際繪製的速度非常慢,並且發生淡化效果不理想。
有什麼建議嗎?
我認爲這不是一個非常有用的答案。顯然有一種方法可以做到這一點,因爲像Google Maps之類的東西似乎可以正常工作。根本不會波濤洶涌,並且在繪製速度方面似乎相當不錯,即使它必須首先下載數據。 – 2008-12-22 20:22:08
我只是說,你不能在一個UI控件內完成它,因爲它的框架太大了。可能有一種方法可以將多個視圖水平放置在一起,但您可能必須自己管理它們(摧毀/創建)。 – 2008-12-22 20:59:46