用法簡單的呈現一組圖片的架構(高仿QQ/),一組高仿
DEMO:http://www.code4app.com/thread-8612-1-1.html
什麼地方用到這個架構
- 主要用於社交app,用於呈現一組圖片
- 以下是各個流行社交app的部分
PYPhotosView架構的主要類PYPhotosView
[Objective-C] 查看源檔案 複製代碼?
01020304050607080910111213141516171819202122232425 |
@interface PYPhotosView : UIScrollView /** 網狀圖片相簿 */ @property ( nonatomic , strong) NSArray *photos; /** 本地相簿圖片數組 */ @property ( nonatomic , strong) NSMutableArray *images; /** 所有圖片的狀態 */ @property ( nonatomic , assign) NSInteger photosState; /** 圖片間距(預設為5) */ @property ( nonatomic , assign) CGFloat photoMargin; /** 圖片的寬高(正方形)預設為70 */ @property ( nonatomic , assign) CGFloat photoWH; /** 每行最多個數(預設為3) */ @property ( nonatomic , assign) NSInteger photosMaxCol; /** 快速建立photosView對象 */ + (instancetype)photosView; /** photos: 儲存圖片連結的數組 */ + (instancetype)photosView:( NSArray *)photos; /** 根據圖片個數和圖片狀態自動計算出PYPhontosView的size */ - (CGSize)sizeWithPhotoCount:( NSInteger )count photosState:( NSInteger )state; @end |
如何使用PYPhotosView
- 手動匯入:
- 將PYPhotosView檔案夾中的所有檔案拽入項目中
- 匯入主標頭檔[Objective-C] 查看源檔案 複製代碼?
1 |
#import "PYPhotosView.h" |
具體使用(詳情見樣本程式中的PYExampleViewController)
- 建立圖片連結數組
- 建立photosView對象
- 添加對象
範例程式碼:[Objective-C] 查看源檔案 複製代碼?
010203040506070809101112131415 |
// 1.1 建立圖片連結數組 NSMutableArray *imageUrls = [ NSMutableArray array]; for ( int i = 0; i < 6; i++) { // 1.2 圖片連結 NSString *imageUrl = [ NSString stringWithFormat: @"https://github.com/iphone5solo/PYPhotosView/raw/master/images/IMG_02%02d.PNG" , 25+i]; // 1.3 添加圖片連結 [imageUrls addObject:imageUrl]; } // 2. 建立一個photosView PYPhotosView *photosView = [PYPhotosView photosView:imageUrls]; // 3. 添加photosView [ self .view addSubview:photosView]; |
自訂photosView通過設定photosView的對象屬性值即可修改
// 設定圖片間距為10
photosView.photoMargin = 10;
// 設定圖片的寬(width)
photosView.photoWidth = 100;
// 設定圖片的高(height)
photosView.photoHeight = 60;
// 設定圖片最多列數
photosView.photosMaxCol = 6;