2011-09-10 36 views
0

中可繪製內容更改的順序我創建了一個UIView子類,其中的drawRect方法基於NSDictionary的內容繪製UIImage。我的問題是,有時圖像的順序發生變化,一個圖像出現在先前在第一個圖像下方繪製的另一個圖像上。我的drawRect代碼如下drawRect

NSArray* arr = [myDictionary allValues]; for (MyObject* obj in arr) { NSString* imageName = obj.imageName; CGRect imageRect = CGRectZero; imageRect.origin = obj.origin; imageRect.size = obj.size;
UIImage* img = [ UIImage imageWithContentsOfFile:imageName]; [img drawInRect:imageRect]; }

給出的NSDictionary的內容完全不進行排序。每當在UIView子類中更新NSDictionary時,我只需調用[self setNeedsDisplay]來刷新視圖。 但我無法得到爲什麼有時UIImage更改的順序。

感謝 Arnieterm

+0

有沒有人可以幫忙? 我無法弄清爲什麼繪製的UIImage的順序改變了。 謝謝 Arnieterm –

回答

0

使用NSSortDescriptor類型的NSDate的自定義對象的附加字段一起解決了這個問題。基本上NSDictionary的鍵是重新安排,因爲它們是「0000」,「0101」,「4222」等。 上述解決方案可以保持內容添加到NSDictionary的順序,不需要重新安排鍵的值是。 謝謝 Arnieterm