- An easy way to browse photo(image) for iOS.
- iOS trung sử dụng đơn giản hình ảnh trình duyệt.
-
Getting Started
- Renderings【 hiệu quả đồ 】
- Who is using PYPhotoBrowser【 này đó app sử dụng PYPhotoBrowser】
- Status 【 duy trì này đó trạng thái 】
- Layouts【 duy trì này đó bố cục 】
- Gestures【 duy trì này đó thủ thế 】
- What place will use this framework【 địa phương nào dùng đến cái này dàn giáo 】
- Dependency 【 ỷ lại này đó kẻ thứ ba dàn giáo 】
- Classes【PYPhotosView dàn giáo chủ yếu loại 】
-
Dàn giáo sử dụng
-
Hình ảnh đã tuyên bố ( internet hình ảnh xem, nước chảy bố cục )
-
Hình ảnh chưa tuyên bố ( bản địa hình ảnh thượng truyền \ tuyên bố \ xem trước )
Hương mạch Sán y di động làm công Ái ngưu cổ Huệ tâm danh đao
- Đã tuyên bố ( internet hình ảnh xem )
Nước chảy bố cục
,Tuyến tính bố cục
Đơn đánh
,Song kích
,Ghép lại
,Xoay tròn
,Kéo túm
,Sườn hoạt
- Chủ yếu dùng cho xã giao app, dùng cho hiện ra một tổ hình ảnh
- Dưới là các lưu hành xã giao app bộ phận chụp hình
- Hình ảnh xem ỷ lại dàn giáo
MBProgressHUD
SDWebImage
DACircularProgress
FLAnimatedImage
@interfacePYPhotosView:UIScrollView
/** đại lý*/
@property(nonatomic,weak)id<PYPhotosViewDelegate> delegate;
/** internet hình ảnh mô hình số tổ*/
@property(nonatomic,copy)NSArray*photos;
/** internet hình ảnh địa chỉ số tổ ( súc lược đồ )*/
@property(nonatomic,copy)NSArray*thumbnailUrls;
/** internet hình ảnh địa chỉ số tổ ( nguyên đồ )*/
@property(nonatomic,copy)NSArray*originalUrls;
/** bản địa album hình ảnh số tổ ( cam chịu nhiều nhất vì chín trương, đương truyền vào hình ảnh số tổ trưởng độ vượt qua chín trương khi, lấy trước chín trương )*/
@property(nonatomic,strong)NSMutableArray*images;
/** sở hữu hình ảnh trạng thái ( cam chịu vì đã tuyên bố trạng thái )*/
@property(nonatomic,assign) PYPhotosViewState photosState;
/** hình ảnh bố cục ( cam chịu vì nước chảy bố cục )*/
@property(nonatomic,assign) PYPhotosViewLayoutType layoutType;
/** hình ảnh phân trang chỉ thị loại hình ( cam chịu vì pageControll. Đương hình ảnh vượt qua chín trương, sửa vì label biểu hiện )*/
@property(nonatomic,assign) PYPhotosViewPageType pageType;
/** hình ảnh khoảng thời gian ( cam chịu vì 5 )*/
@property(nonatomic,assign)CGFloatphotoMargin;
/** hình ảnh khoan ( cam chịu vì 70)*/
@property(nonatomic,assign)CGFloatphotoWidth;
/** hình ảnh cao ( cam chịu vì 70)*/
@property(nonatomic,assign)CGFloatphotoHeight;
/** mỗi hành nhiều nhất cái số ( cam chịu vì 3 ), đương hình ảnh bố cục vì tuyến tính bố cục khi, này thiết trí mất đi hiệu lực*/
@property(nonatomic,assign)NSIntegerphotosMaxCol;
/** đương hình ảnh thượng truyền trước, nhiều nhất thượng truyền trương số, cam chịu vì 9*/
@property(nonatomic,assign)NSIntegerimagesMaxCountWhenWillCompose;
/** nhanh chóng sáng tạo photosView đối tượng*/
+ (instancetype)photosView;
/** photos: Bảo tồn hình ảnh liên tiếp số tổ*/
+ (instancetype)photosViewWithThumbnailUrls:(NSArray*)thumbnailUrlsoriginalUrls:(NSArray*)originalUrls;
/** images: Tồn trữ bản địa hình ảnh số tổ*/
+ (instancetype)photosViewWithImages:(NSMutableArray*)images;
/**
* thumbnailUrls: Bảo tồn hình ảnh ( súc lược đồ ) liên tiếp số tổ
* originalUrls: Bảo tồn hình ảnh ( nguyên đồ ) liên tiếp số tổ
* type: Bố cục loại hình ( cam chịu vì nước chảy bố cục )
*/
+ (instancetype)photosViewWithThumbnailUrls:(NSArray*)thumbnailUrlsoriginalUrls:(NSArray*)originalUrlslayoutType:(PYPhotosViewLayoutType)type;
/**
* thumbnailUrls: Bảo tồn hình ảnh ( súc lược đồ ) liên tiếp số tổ
* originalUrls: Bảo tồn hình ảnh ( nguyên đồ ) liên tiếp số tổ
* maxCol: Mỗi hành nhiều nhất biểu hiện hình ảnh cái số
*/
+ (instancetype)photosViewWithThumbnailUrls:(NSArray*)thumbnailUrlsoriginalUrls:(NSArray*)originalUrlsphotosMaxCol:(NSInteger)maxCol;
/** căn cứ hình ảnh cái số cùng hình ảnh trạng thái tự động tính toán ra PYPhontosView size*/
- (CGSize)sizeWithPhotoCount:(NSInteger)countphotosState:(NSInteger)state;
/**
* đổi mới hình ảnh ( chưa tuyên bố )
* images: Tân hình ảnh số tổ
*/
- (void)reloadDataWithImages:(NSMutableArray*)images;
@end
@protocolPYPhotoBrowseViewDelegate<NSObject>
@optional
/**
* hình ảnh xem sắp sửa biểu hiện điệu hát thịnh hành dùng
*/
- (void)photoBrowseView:(PYPhotoBrowseView *)photoBrowseViewwillShowWithImages:(NSArray*)imagesindex:(NSInteger)index;
/**
* hình ảnh xem đã biểu hiện điệu hát thịnh hành dùng
*/
- (void)photoBrowseView:(PYPhotoBrowseView *)photoBrowseViewdidShowWithImages:(NSArray*)imagesindex:(NSInteger)index;
/**
* hình ảnh xem sắp sửa che giấu điệu hát thịnh hành dùng
*/
- (void)photoBrowseView:(PYPhotoBrowseView *)photoBrowseViewwillHiddenWithImages:(NSArray*)imagesindex:(NSInteger)index;
/**
* hình ảnh xem đã che giấu điệu hát thịnh hành dùng
*/
- (void)photoBrowseView:(PYPhotoBrowseView *)photoBrowseViewdidHiddenWithImages:(NSArray*)imagesindex:(NSInteger)index;
/**
* hình ảnh đơn đánh điệu hát thịnh hành dùng
*/
- (void)photoBrowseView:(PYPhotoBrowseView *)photoBrowseViewdidSingleClickedImage:(UIImage *)imageindex:(NSInteger)index;
/**
* hình ảnh trường đúng hạn thuyên chuyển
*/
- (void)photoBrowseView:(PYPhotoBrowseView *)photoBrowseViewdidLongPressImage:(UIImage *)imageindex:(NSInteger)index;
@end
@protocolPYPhotoBrowseViewDataSource<NSObject>
@optional
/** phản hồi sắp sửa xem hình ảnh ( UIImage ) số tổ*/
- (NSArray*)imagesForBrowse;
/** phản hồi sắp sửa xem hình ảnh liên tiếp (NSString) số tổ, nếu thực hiện - (NSArray *)imagesForBrowse; phương pháp, tắc xem nhẹ này phương pháp*/
- (NSArray*)imagesURLForBrowse;
/** phản hồi cam chịu biểu hiện hình ảnh hướng dẫn tra cứu ( cam chịu vì 0)*/
- (NSInteger)currentIndex;
/** cam chịu biểu hiện hình ảnh tương đối với chủ cửa sổ vị trí*/
- (CGRect)frameFormWindow;
/** biến mất trở lại tương đối với trụ cửa sổ chỉ định vị trí*/
- (CGRect)frameToWindow;
@end
@interfacePYPhotoBrowseView:UIWindow<PYPhotoViewDelegate>
/** đại lý*/
@property(nonatomic,weak)id<PYPhotoBrowseViewDelegate> delegate;
/** số liệu nguyên đại lý*/
@property(nonatomic,weak)id<PYPhotoBrowseViewDataSource> dataSource;
/** dùng để xem hình ảnh ( UIImage ) số tổ
* kiến nghị truyền vào UIImage là đã download. Nếu là dị bước xuống tái, thỉnh sử dụng imagesURL
* nếu thiết trí cái này thuộc tính imagesURL mất đi hiệu lực
*/
@property(nonatomic,copy)NSArray*images;
/** dùng để xem hình ảnh liên tiếp ( NSString ) số tổ*/
@property(nonatomic,copy)NSArray*imagesURL;
/** dùng để xem hình ảnh khống kiện ( UIImageView ) số tổ*/
@property(nonatomic,copy)NSArray*sourceImgageViews;
/** dùng để ký lục trước mặt hạ tiêu*/
@property(nonatomic,assign)NSIntegercurrentIndex;
/** cam chịu biểu hiện hình ảnh tương đối với chủ cửa sổ vị trí ( tức từ cửa sổ cái nào vị trí biểu hiện ),
* chú ý: Thiết trí này thuộc tính khi, showFromView thuộc tính mất đi hiệu lực
*/
@property(nonatomic,assign)CGRectframeFormWindow;
/** truyền vào từ nào trương hình ảnh (UIImageView) bắt đầu chậm rãi phóng đại biểu hiện*/
@property(nonatomic,strong) UIView *showFromView;
/** biến mất trở lại tương đối với trụ cửa sổ chỉ định vị trí ( tức biến mất ở cửa sổ cái nào vị trí )
* chú ý: Thiết trí này thuộc tính khi, hiddenToView thuộc tính mất đi hiệu lực
*/
@property(nonatomic,assign)CGRectframeToWindow;
/** truyền vào chậm rãi thu nhỏ lại đến nào trương hình ảnh (UIImageView) sau đó biến mất*/
@property(nonatomic,strong) UIView *hiddenToView;
/** đương màn hình xoay tròn khi, hay không tự động xoay tròn hình ảnh cam chịu vì YES*/
@property(nonatomic,assign)BOOLautoRotateImage;
/**
* xem hình ảnh
*/
- (void)show;
/**
* che giấu
*/
- (void)hidden;
@end
- Sử dụng Cocoapods:
pod "PYPhotoBrowser"
- Dẫn vào chủ đầu văn kiện
#import <PYPhotoBrowser.h>
- Tay động dẫn vào:
- Đem
PYPhotoBrowser
Folder trung sở hữu văn kiện túm nhập hạng mục trung - Dẫn vào chủ đầu văn kiện
#import "PYPhotoBrowser.h"
Sử dụng chú ý:
Nếu hạng mục vốn dĩ liền có ỷ lại kẻ thứ ba dàn giáo:MBProgressHUD, SDWebImage, DACircularProgress
Liền không cần lặp lại dẫn vào, nếu không có, lựa chọnDependency
Folder trung, hạng mục không tồn tại dàn giáo túm nhập hạng mục.
- Đem
-
Đã tuyên bố ( internet hình ảnh xem )
Thí dụ mẫu số hiệu:
//1. Sáng tạo súc lược đồ hình ảnh liên tiếp số tổ
NSMutableArray*thumbnailImageUrls = [NSMutableArrayarray];
//Tăng thêm hình ảnh ( súc lược đồ ) liên tiếp
[thumbnailImageUrlsaddObject:@ "http://ww3.sinaimg.cn/thumbnail/006ka0Iygw1f6bqm7zukpj30g60kzdi2.jpg"];
[thumbnailImageUrlsaddObject:@ "http://ww1.sinaimg.cn/thumbnail/61b69811gw1f6bqb1bfd2j20b4095dfy.jpg"];
[thumbnailImageUrlsaddObject:@ "http://ww1.sinaimg.cn/thumbnail/54477ddfgw1f6bqkbanqoj20ku0rsn4d.jpg"];
[thumbnailImageUrlsaddObject:@ "http://ww4.sinaimg.cn/thumbnail/006ka0Iygw1f6b8gpwr2tj30bc0bqmyz.jpg"];
[thumbnailImageUrlsaddObject:@ "http://ww2.sinaimg.cn/thumbnail/9c2b5f31jw1f6bqtinmpyj20dw0ae76e.jpg"];
[thumbnailImageUrlsaddObject:@ "http://ww1.sinaimg.cn/thumbnail/536e7093jw1f6bqdj3lpjj20va134ana.jpg"];
[thumbnailImageUrlsaddObject:@ "http://ww1.sinaimg.cn/thumbnail/75b1a75fjw1f6bqn35ij6j20ck0g8jtf.jpg"];
[thumbnailImageUrlsaddObject:@ "http://ww2.sinaimg.cn/thumbnail/005NFHyQgw1f6bn8bha0eg308w0gib2d.gif"];
[thumbnailImageUrlsaddObject:@ "http://ww1.sinaimg.cn/thumbnail/86afb21egw1f6bq3lq0itj20gg0c2myt.jpg"];
//1.2 sáng tạo nguyên đồ hình ảnh liên tiếp số tổ
NSMutableArray*originalImageUrls = [NSMutableArrayarray];
//Tăng thêm hình ảnh ( nguyên đồ ) liên tiếp
[originalImageUrlsaddObject:@ "http://ww3.sinaimg.cn/large/006ka0Iygw1f6bqm7zukpj30g60kzdi2.jpg"];
[originalImageUrlsaddObject:@ "http://ww1.sinaimg.cn/large/61b69811gw1f6bqb1bfd2j20b4095dfy.jpg"];
[originalImageUrlsaddObject:@ "http://ww1.sinaimg.cn/large/54477ddfgw1f6bqkbanqoj20ku0rsn4d.jpg"];
[originalImageUrlsaddObject:@ "http://ww4.sinaimg.cn/large/006ka0Iygw1f6b8gpwr2tj30bc0bqmyz.jpg"];
[originalImageUrlsaddObject:@ "http://ww2.sinaimg.cn/large/9c2b5f31jw1f6bqtinmpyj20dw0ae76e.jpg"];
[originalImageUrlsaddObject:@ "http://ww1.sinaimg.cn/large/536e7093jw1f6bqdj3lpjj20va134ana.jpg"];
[originalImageUrlsaddObject:@ "http://ww1.sinaimg.cn/large/75b1a75fjw1f6bqn35ij6j20ck0g8jtf.jpg"];
[originalImageUrlsaddObject:@ "http://ww2.sinaimg.cn/large/005NFHyQgw1f6bn8bha0eg308w0gib2d.gif"];
[originalImageUrlsaddObject:@ "http://ww1.sinaimg.cn/large/86afb21egw1f6bq3lq0itj20gg0c2myt.jpg"];
//2. Sáng tạo một cái photosView
PYPhotosView *photosView = [PYPhotosViewphotosViewWithThumbnailUrls:thumbnailImageUrlsoriginalUrls:originalImageUrls];
//3. Tăng thêm photosView
[self.viewaddSubview:photosView];
-
Chưa tuyên bố ( bản địa hình ảnh thượng truyền \ tuyên bố \ xem trước )
Thí dụ mẫu số hiệu:
//1. Sáng tạo bản địa hình ảnh số tổ
NSMutableArray*imagesM = [NSMutableArrayarray];
for(inti =0;i < arc4random_uniform(4) +1;i++) {
[imagesMaddObject:[UIImageimageNamed:[NSStringstringWithFormat:@ "%02d",i +1]]];
}
//2.1 thiết trí bản địa hình ảnh
PYPhotosView *photosView = [PYPhotosViewphotosViewWithImages:imagesM];
//3. Thiết trí đại lý
photosView.delegate = self;
//4. Tăng thêm photosView
[self.viewaddSubview:photosView];
-
Chỉ sử dụng hình ảnh xem công năng ( sử dụng PYPhotoBrowseView loại )
Thí dụ mẫu số hiệu:
//1. Sáng tạo photoBroseView đối tượng
PYPhotoBrowseView *photoBroseView = [[PYPhotoBrowseViewalloc]init];
//2.1 thiết trí hình ảnh nguyên (UIImageView) số tổ
photoBroseView.sourceImgageViews = imageViews;
//2.2 thiết trí khởi động lại hình ảnh hạ tiêu ( tức trước mặt điểm đánh đệ mấy trương hình ảnh )
photoBroseView.currentIndex =2;
//3. Biểu hiện ( xem )
[photoBroseViewshow];
- Thiết trí bố cục loại hình ( cam chịu vì nước chảy bố cục )
//Thiết trí bố cục vì tuyến tính bố cục
photosView.layoutType = PYPhotosViewLayoutTypeLine;
- Thiết trí phân trang chỉ thị loại hình ( cam chịu vì pageControll chỉ thị khí )
//Thiết trí chỉ thị loại hình vì văn bản chỉ thị
photosView.pageType = PYPhotosViewPageTypeLabel;
- Thiết trí hình ảnh khoảng thời gian ( cam chịu vì 5 )
//Thiết trí hình ảnh khoảng thời gian vì 10
photosView.photoMargin =10;
- Thiết trí hình ảnh lớn nhỏ ( cam chịu 70*70 )
//Thiết trí hình ảnh khoan ( width )
photosView.photoWidth =100;
//Thiết trí hình ảnh cao ( height )
photosView.photoHeight =60;
- Thiết trí mỗi hành hình ảnh nhiều nhất cái số ( cam chịu vì 3 cái )
//Thiết trí hình ảnh nhiều nhất liệt số
photosView.photosMaxCol =6;
- Thiết trí hình ảnh thượng truyền trước, nhiều nhất thượng truyền trương số ( cam chịu vì 9 )
//Thiết trí hình ảnh nhiều nhất thượng truyền trương số
photosView.imagesMaxCountWhenWillCompose =15;
- Thiết trí đương màn hình xoay tròn khi, hình ảnh hay không thanh thản ứng điều chỉnh ( cam chịu vì YES )
//Đóng cửa đương màn hình xoay tròn khi, hình ảnh thanh thản ứng
photosView.autoRotateImage =NO;
- Nếu ngài ở sử dụng trong quá trình có bất luận vấn đề gì, hoan nghênhissue me!Rất vui lòng vì ngài giải đáp bất luận cái gì tương quan vấn đề!
- Cùng với cho ta điểm star, không bằng hướng ta hung hăng mà vứt tới một cái BUG!
- Nếu muốn tham dự cái này hạng mục giữ gìn, có thể trực tiếp pull request!
- Nếu ngài muốn càng nhiều tiếp lời đến từ định nghĩa hoặc là kiến nghị / ý kiến, hoan nghênh issue me! Ta sẽ căn cứ đại gia nhu cầu cung cấp càng nhiều tiếp lời!
- Nếu ngài ở thượng tuyến app trung sử dụng đến nên kẻ thứ ba, hoan nghênhissue me,Làm ta có thể kịp thời thống kê, đổi mới!