2014-02-15 43 views
0

我想創建一個利用全屏幕照片的iOS應用程序,如果它們處於慢速連接,最終用戶可能會等待很長時間。我不想向他們展示「加載」圖標,而是以非線性方式線性加載(從網頁瀏覽器加載圖像的方式)或更有趣地加載圖像。我的意思是,有沒有一種函數/方法可以從圖像的任何部分隨機加載像素/部分,直到圖像完全完成?如何在Objective-C/iOS中以線性或非線性方式加載圖像?

回答

2

你應該看看這裏

CGImageSourceCreateIncremental and CGImageSourceUpdateData 

方法https://developer.apple.com/library/ios/documentation/graphicsimaging/Reference/CGImageSource/Reference/reference.html

您也可以嘗試NYXImagesKit庫(https://github.com/Nyx0uf/NYXImagesKit

算法描述 - http://cocoaintheshell.com/2011/05/progressive-images-download-imageio/

樣品:

NYXProgressiveImageView * imgv = [[NYXProgressiveImageView alloc] init]; 
imgv.frame = CGRectMake(0, 0, 320, 480); 
[imgv loadImageAtURL:[NSURL URLWithString:@"http://yourimage"]]; 
[self.view addSubview:imgv]; 
+0

謝謝!看起來這是漸進版本。你知道任何函數,而不是負載隨機像素/區域,直到圖像完全加載? – user3314426

+0

不需要。它應該相當困難 - 我認爲沒有支持隨機(非漸進)圖像顯示的Cocoa類。無論如何,你可以嘗試爲此找到第三方庫。 – Avt

+0

你也可以使用隔行掃描圖像 - 可能會稍微改善加載/顯示過程。 – Avt