2010-07-06 90 views
0

當我打電話給setNeedsDisplayInRect:時,爲什麼我的drawRect:inContext方法不久後會被調用?如果我放大未塗漆區域,然後縮小(我想觸發重繪)圖像將被繪製。但如果我把它放在那裏,不要骰子。有沒有辦法立即強制重繪?SetNeedsDisplayInRect不會立即生效

爲了萬一它很重要,我真的使用MapKit的覆蓋和setNeedsDisplayInMapRect:zoomScale:drawMapRect:zoomScale:inContext:方法,但我以前只有一個滾動視圖和CATiledLayer這個問題。

+0

請問 - 你有沒有解決這個問題?我有一個非常類似的問題,我已經在這裏發佈:http://stackoverflow.com/questions/10128447/setneedsdisplayinmaprect-doesnt-trigger-new-drawmaprect-call – TomSwift 2012-04-12 19:30:42

回答

0

你不應該使用

  • (無效)drawMapRect:(MKMapRect)mapRect zoomScale:(MKZoomScale)zoomScale inContext的:(CGContextRef)方面

沒有的drawRect:inContext的:

+0

我正在使用該方法(第二段)。由於某種原因,它似乎現在工作得更好了,但我仍然會得到一些即使它們應該被繪製也不會繪製的圖塊(通過使用setNeedsDisplayIn來使它們無效)。 – 2010-07-29 04:26:05