我還沒有找到任何有關此文件或看到這之前做過的文檔,但無論如何,我可以,而不是隻用UIImagePicker選擇一個圖像,加載用戶的相冊,然後選擇圖像後,該圖像顯示,但還可以讓我向左滾動並騎行以查看該圖像之前和之後的所有圖像?創建一個訪問iOS用戶照片中所有圖像的應用程序?
我知道我可以使用多個圖像選擇器,但涉及導入所有用戶的照片,並且如果用戶有數百張照片,這將花費大量時間。我正在尋找與真實照片應用類似的功能 - 性能和一切。有任何想法嗎?
我還沒有找到任何有關此文件或看到這之前做過的文檔,但無論如何,我可以,而不是隻用UIImagePicker選擇一個圖像,加載用戶的相冊,然後選擇圖像後,該圖像顯示,但還可以讓我向左滾動並騎行以查看該圖像之前和之後的所有圖像?創建一個訪問iOS用戶照片中所有圖像的應用程序?
我知道我可以使用多個圖像選擇器,但涉及導入所有用戶的照片,並且如果用戶有數百張照片,這將花費大量時間。我正在尋找與真實照片應用類似的功能 - 性能和一切。有任何想法嗎?
是的,可以。看看ALAssetsLibrary
的文檔。這將允許您枚舉所有用戶的圖像(和視頻)庫。從這裏,你得到ALAsset
s,你可以要求他們的默認ALAssetRepresentation
。這一個,反過來,你要求它的CGImage
,從中你可以創建一個UIImage
。枚舉庫和資產是在塊中完成的,這可以很容易地在後臺完成。
ALAssetsLibrary的實例可以訪問那些照片應用程序的控制下,視頻和照片 。
該庫包括那些位於「已保存的照片」專輯中,那些來自iTunes的 以及直接導入到設備中的那些。您可以使用它來檢索所有資產組的列表,並將圖像和視頻保存到保存的照片相冊中。
注:僅在IOS提供4+
但是,如果說我的相冊上有超過400張圖片,那麼我將不得不導入並保存每張圖片? – Snowman 2012-01-17 16:23:05
這不就是說我不得不導入並處理每張照片,這是一個緩慢的過程? – Snowman 2012-01-17 16:24:02
是的,沒有。您可以枚舉所有內容,而不會獲得任何圖像,這非常快。一旦你需要顯示,你可以問'ALAsset'爲thumbnailImage。這是緩存的,而且還是比較快的。你可以做所有的枚舉,甚至要求在後臺顯示縮略圖,只需要在主線程上進行實際顯示(因爲UIView不是線程安全的)。只要確保顯示視圖,_then_開始逐個顯示縮略圖。 – fzwo 2012-01-17 16:48:21
當然,獲得fullResolutionImage總是會慢一點,沒有辦法繞過它。我們的想法是,您不需要導入完整的庫,而是以自己的方式將庫顯示給用戶,並且只根據用戶的選擇導入所需的部件。 – fzwo 2012-01-17 16:50:01