/*
* 獲取全部相簿
*/-(nsmutablearray *)getphotolistdatas;
/* * 獲取某乙個相簿的結果集
*/-(phfetchresult *)getfetchresult:(phassetcollection *)assetcollection;
/* * 獲取實體,並把結果存放到陣列中,返回值陣列
*/-(nsmutablearray *)getphotoassets:(phfetchresult *)fetchresult;
/* * 只獲取相機膠卷結果集
*/-(phfetchresult *)getcamerarollfetchresul;
實現:
-(nsmutablearray *)getphotolistdatas
return dataarray;
}-(phfetchresult *)getfetchresult:(phassetcollection *)assetcollection
-(nsmutablearray *)getphotoassets:(phfetchresult *)fetchresult
}return dataarray;
}-(phfetchresult *)getcamerarollfetchresul
-(void)getimageobject:(id)asset complection:(void (^)(uiimage *, bool))complection
}}];}}
- (phimagerequestid)requestimageforasset:(phasset *)asset
targetsize:(cgsize)targetsize
contentmode:(phimagecontentmode)contentmode
options:(nullable phimagerequestoptions *)options
resulthandler:(void (^)
(uiimage *__nullable result, nsdictionary *__nullable info))resulthandler;
這個方法中的引數坑點不少,下面逐個引數列舉一下其作用及坑點:
1、asset,影象對應的 phasset。
2、targetsize,需要獲取的影象的尺寸,如果輸入的尺寸大於資源原圖的尺寸,則只返回原圖。需要注意在 phimagemanager 中,所有的尺寸都是用 pixel 作為單位(note that all sizes are in pixels),因此這裡想要獲得正確大小的影象,需要把輸入的尺寸轉換為 pixel。如果需要返回原圖尺寸,可以傳入 photokit 中預先定義好的常量?phimagemanagermaximumsize,表示返回可選範圍內的最大的尺寸,即原圖尺寸。
3、 contentmode,影象的剪裁方式,與?uiview 的 contentmode 引數相似,控制**應該以按比例縮放還是按比例填充的方式放到最終展示的容器內。注意如果 targetsize 傳入?phimagemanagermaximumsize,則 contentmode 無論傳入什麼值都會被視為?phimagecontentmodedefault。
4、options,乙個?phimagerequestoptions 的例項,可以控制的內容相當豐富,包括影象的質量、版本,也會有引數控制影象的剪裁,下面再展開說明。
5、resulthandler,請求結束後被呼叫的 block,返回乙個包含資源對於影象的 uiimage 和包含影象資訊的乙個 nsdictionary,在整個請求的週期中,這個 block 可能會被多次呼叫,關於這點連同 options 引數在下面展開說明。
最後封裝了乙個demo,實現的多選與單選。具體效果如下:
封裝mvc框架
為了達到更快的開發效率,我們可以根據mvc思想來封裝屬於我們自己的框架 首先我們先來一起回顧下mvc模式的目的,mvc是實現一種動態的程式設計,使後續對程式的修改和擴充套件簡化,並且使程式某一部分的重複利用成為可能,此模式通過對複雜度的簡化,使程式結構更加直觀。軟體系統通過對自身基本部分分離的同時也...
框架封裝基礎
汙染 全域性變數!通過傳參,可以讓程式減少查詢過程 優化 function win json window json json window return 零汙染框架雛形 function win win.window 命名空間的模組化 function win 公共模組 l.common 字串 l...
基於Angular框架封裝的畫環形進度條元件
1.首先在我們的plugin目錄下將本文件附件中的js檔案引入,這個元件是以angular工廠模式建立canvas物件,以angular指令控制dom 2.然後在html檔案中在需要畫圖的地方呼叫元件,以下為html的demo div class test ng controller testctr...