先直接上完成后的效果如下:
具體的demo 詳見(jiàn)github地址:https://github.com/TianXin123654/TXCustomView
TXCustomView用法如下
1.朋友圈快速布局胖眷,此方法需要?jiǎng)?chuàng)建TXCustomView的大小暂筝,然后傳入TXCustomPhoto集合,再設(shè)置圖片的間距围橡,和數(shù)量即可编振。
/**
快速生成圖片框方法(類(lèi)似九宮格 圖片尺寸根據(jù)view給定的大小計(jì)算)
@param imageArray TXCustomImageArray
@param interval 圖片之間的間距
@param throwNumber 一排顯示的數(shù)量
@param isFit 是否鋪滿
*/
-(void)setImageArray:(NSArray<TXCustomPhoto *>*)imageArray
andImageInterval:(NSInteger )interval
andThrowNumber:(int )throwNumber
andIsFitImageView:(BOOL)isFit;
實(shí)現(xiàn)后的效果:2.根據(jù)給定的圖片大小計(jì)算TXCustomView進(jìn)行布局,此方法需要?jiǎng)?chuàng)建一個(gè)TXCustomSizeSettings類(lèi)溜腐,需求中時(shí)常會(huì)出現(xiàn)一張圖片或兩張圖片大小不一樣榆骚。
#pragma mark - 下面為拓展自定義屬性
/**
只有一張圖片的時(shí)候的尺寸
*/
@property (nonatomic, assign)CGSize onlyOneImageSize;//imageSizeForOne
/**
只有兩張圖片時(shí)候的尺寸
*/
@property (nonatomic, assign)CGSize onlyTwoImageSize;
/**
只有三張圖片時(shí)候的尺寸
*/
@property (nonatomic, assign)CGSize onlyThreeImageSize;
/**
只有一排的時(shí)候尺寸
*/
@property (nonatomic, assign)CGSize frontRowImageSize;
然后用法
/**
快速生成圖片框方法(類(lèi)似九宮格 圖片尺寸根據(jù)用戶給定的imagesize大小生成)
@param imageArray TXCustomImageArray
@param sets sets TXCustomSetupSettings自定義拓展設(shè)置
*/
-(void)setCustomViewSizeWithImageArray:(NSArray<TXCustomPhoto *>*)imageArray
withSetting:(TXCustomSizeSettings *)sets;
實(shí)現(xiàn)后的效果:
3.帶圖片文字描述型棠涮。
我這里提供了幾個(gè)數(shù)據(jù)源協(xié)議谦炬,可以自定義界面的所有view盟蚣,只需要實(shí)現(xiàn)即可:
//自定義頂部view
- (UIView *)customTopView;
//自定義底部view
- (UIView *)customBottomView;
//長(zhǎng)按圖片彈出View
- (UIView *)customLongPressView;
與此同時(shí)黍析,還提供了幾種拓展屬性,方便使用屎开。如果覺(jué)得好用的話阐枣,求一個(gè)star。