2011-03-01 65 views
3

使用佔位符圖像的正確方法是什麼?在加載完整圖像之前使用佔位符圖像

我想用圖像填充UIScrollView作爲子視圖,但是在顯示滾動視圖之前,要在較早的設備上加載所有完整圖像,這一直很沉重。

如何使用佔位符圖像,以便當用戶滾動到contentOffset時可以加載完整圖像?

我試過使用ALAsset的縮略圖,但縮放看起來很可怕。

回答

2

假設您使用圖像切片的UIImageView子視圖。在開始的時候,你可以填充像這樣你的UIImageView子視圖:

for each tile location in myScrollView area: 
    [myScrollView addSubview:[UIImageView 
     initWithImage:[UIImage imageNamed:@"placeholder.png"]]]; 

這裏的關鍵是,imageNamed做幕後(見SDK文檔)behind緩存,並且只有一個實際placeholder.png圖像將存在於內存中。

在您的UIScrollView事件委託中,當用戶滾動並在沒有加載其內容的新磁貼上定位時,請啓動加載過程並替換該位置的UIImageView(刪除佔位符,添加適當的一)。

顯然,您可能還想在某些時候卸載舊圖像切片以節省內存。

+0

太好了。使用一個佔位符圖像,照片應用程序如何獲得每張圖像的低質量圖像,然後加載正確的圖像?如果您在照片應用程序滾動視圖中快速滑動,則會看到此模糊的圖像,然後將其加載到完整圖像中。 – jarryd 2011-03-01 10:38:50

+0

哦,我明白了,你想要一個低分辨率預覽?這在你的問題中並不清楚(但是暗示,我現在看到)。我猜測照片應用存儲了低分辨率預覽,並進行了某種過濾,使其看起來不太可怕(例如某種模糊效果)。 – occulus 2011-03-01 10:41:18

+0

模糊不清,請查看:http://iphonedevelopment.blogspot.com/2010/08/uiimage-blur.html – occulus 2011-03-01 10:43:20

相關問題