IOS推送iOS

MWPhotoBrowser - 图片视频查看器

2016-04-25  本文已影响2419人  居然是村长

https://github.com/mwaterfall/MWPhotoBrowser

附加了好几个其他第三方库:
1 DACirculaProgress
2 MBProgressHUD
3 SDWebImage

使用还是很简单

与系统的 tableView 差不多


+ (MWPhoto *)photoWithImage:(UIImage *)image;// 本地图片
+ (MWPhoto *)photoWithURL:(NSURL *)url;// URL 图片
+ (MWPhoto *)photoWithAsset:(PHAsset *)asset targetSize:(CGSize)targetSize;// 照片
+ (MWPhoto *)videoWithURL:(NSURL *)url; // 视频

@property (nonatomic, strong) NSString *caption;// 描述

@property (nonatomic, strong) NSURL *videoURL;
@property (nonatomic) BOOL emptyImage;
@property (nonatomic) BOOL isVideo;

- (id)initWithPhotos:(NSArray *)photosArray;// 不需要代理,直接使用预览,简单方便
- (id)initWithDelegate:(id <MWPhotoBrowserDelegate>)delegate;// 代理方法更多


@property (nonatomic) BOOL displayNavArrows;// toolBar 上的 左右翻页 ,默认 NO
@property (nonatomic) BOOL displayActionButton;// 系统分享
@property (nonatomic) BOOL alwaysShowControls;// 是否一直显示 导航栏

@property (nonatomic) BOOL displaySelectionButtons;// 选择图片
@property (nonatomic, strong) NSString *customImageSelectedIconName;// 选择大图
@property (nonatomic, strong) NSString *customImageSelectedSmallIconName;// 选择小图

@property (nonatomic) BOOL enableGrid;// 是否可以查看小图预览模式
@property (nonatomic) BOOL startOnGrid;// 以小图预览模式进入

@property (nonatomic) BOOL autoPlayOnAppear;// 自动播放视频
@property (nonatomic) NSUInteger delayToHideElements;// 延迟 隐藏时间
@property (nonatomic) BOOL zoomPhotosToFill;//

@property (nonatomic, readonly) NSUInteger currentIndex;// 当前位置

- (void)reloadData;// 重新加载
- (void)setCurrentPhotoIndex:(NSUInteger)index;// 默认选中



// push 显示!
    [self.navigationController pushViewController:browser animated:YES];

代理


// 数量
- (NSUInteger)numberOfPhotosInPhotoBrowser:(MWPhotoBrowser *)photoBrowser {
    return photos.count;
}

// 内容
- (id <MWPhoto>)photoBrowser:(MWPhotoBrowser *)photoBrowser photoAtIndex:(NSUInteger)index {
    return [photos objectAtIndex:index];
}




// 网格视图
- (id <MWPhoto>)photoBrowser:(MWPhotoBrowser *)photoBrowser thumbPhotoAtIndex:(NSUInteger)index {
    return [photos objectAtIndex:index];
}

// nav title
- (NSString *)photoBrowser:(MWPhotoBrowser *)photoBrowser titleForPhotoAtIndex:(NSUInteger)index {
    return @"123";
}

// 已经 显示
- (void)photoBrowser:(MWPhotoBrowser *)photoBrowser didDisplayPhotoAtIndex:(NSUInteger)index {
    NSLog(@"%zi",index);
}


// 是否选中,需要结合属性设置,同时使用 NSNumber 的数组
- (BOOL)photoBrowser:(MWPhotoBrowser *)photoBrowser isPhotoSelectedAtIndex:(NSUInteger)index {
    return [[_selections objectAtIndex:index] boolValue];
}
// 选择某个
- (void)photoBrowser:(MWPhotoBrowser *)photoBrowser photoAtIndex:(NSUInteger)index selectedChanged:(BOOL)selected {
    [_selections replaceObjectAtIndex:index withObject:[NSNumber numberWithBool:selected]];
}

1

上一篇下一篇

猜你喜欢

热点阅读