SDCycleScrollView
一个第三方 滚动的图片查看器(本地图片或网络图片)
pod 'SDCycleScrollView'
#import <SDCycleScrollView/SDCycleScrollView.h>
创建
// 创建(frame,dele,占位---没有图片数据源时显示的照片)
SDCycleScrollView * _bannerView = [SDCycleScrollView cycleScrollViewWithFrame:CGRectMake(0, 0, kMainScreenWidth,_bannerViewHeight) delegate:self placeholderImage:placeImage];
[self addSubview:_bannerView];
数据源
// 数据源---本地图片数组
[_bannerView setLocalizationImageNamesGroup:@[]];
// 数据源---网络图片数组
_bannerView.imageURLStringsGroup=@[];
// 数据源---每张图片标题
[_bannerView setTitlesGroup:@[]];
占位 背景色 imgMode 缓存
// 占位
_bannerView.placeholderImage = placeImage;
// bgColor
[_bannerView setBackgroundColor:kWhiteColor];
// img mode
_bannerView.bannerImageViewContentMode=UIViewContentModeScaleAspectFill;
// 清除缓存
[SDCycleScrollView clearImagesCache];
滚动 和 点击
// 滚动间隔时间(默认:2s)
[_bannerView setAutoScrollTimeInterval:2.0];
// 是否自动滚动(默认:true)
[_bannerView setAutoScroll:true];
// 是否无限循环
[_bannerView setInfiniteLoop:true];
// 滚动方向
[_bannerView setScrollDirection:UICollectionViewScrollDirectionVertical];
// 点击图片后回调(block监听---或者使dele去监听)
[_bannerView setClickItemOperationBlock:^(NSInteger currentIndex){
}];
// 图片滚动后回调
[_bannerView setItemDidScrollOperationBlock:^(NSInteger currentIndex){
}];
轮播文字
// 轮播文字 高
[_bannerView setTitleLabelHeight:15];
// 轮播文字 字体
[_bannerView setTitleLabelTextFont:[UIFont systemFontOfSize:18]];
// 轮播文字 颜色
[_bannerView setTitleLabelTextColor:[UIColor blueColor]];
// 轮播文字 背景颜色
[_bannerView setTitleLabelBackgroundColor:[UIColor whiteColor]];
圆点
// 是否显示圆点
_bannerView.showPageControl = NO;
// 是否隐藏单个圆点(默认:true)
_bannerView.hidesForSinglePage=true;
// 圆点 大小
[_bannerView setPageControlDotSize:CGSizeMake(10, 10)];
// 圆点 位置
[_bannerView setPageControlAliment:SDCycleScrollViewPageContolAlimentRight];
// 圆点 style
_bannerView.pageControlStyle=SDCycleScrollViewPageContolStyleClassic;
// 圆点 颜色
_bannerView.pageDotColor=kWhiteColor;
// 圆点 图片
_bannerView.pageDotImage=[UIImage imageNamed:@"HX_Banner_dot_nor"];
// 当前圆点 颜色
_bannerView.currentPageDotColor=kNavBarThemeColor;
// 当前圆点 图片
_bannerView.currentPageDotImage=[UIImage imageNamed:@"HX_Banner_dot_current"];
dele
#pragma <SDCycleScrollViewDelegate> 2
// 滚动后调用
- (void)cycleScrollView:(SDCycleScrollView *)cycleScrollView didScrollToIndex:(NSInteger)index{
}
// 选择照片后调用
- (void)cycleScrollView:(SDCycleScrollView *)cycleScrollView didSelectItemAtIndex:(NSInteger)index {
}
TZImagePickerController
一个第三方 图片选择器(可多选图片/视频)
pod 'TZImagePickerController'
#import <TZImagePickerController/TZImagePickerController.h>
// 创建方式一:
// 最大选取数(默认:9),dele
TZImagePickerController *imgPicC=[[TZImagePickerController alloc]initWithMaxImagesCount:9 delegate:self];
// 创建方式二:
// 最大选取数,照片列数,dele
TZImagePickerController *imgPicC=[[TZImagePickerController alloc]initWithMaxImagesCount:9 columnNumber:4 delegate:self];
// 创建方式三:
// 最大选取数,照片列数,dele,是否需要push到照片选择页
TZImagePickerController *imgPicC=[[TZImagePickerController alloc]initWithMaxImagesCount:9 columnNumber:4 delegate:self pushPhotoPickerVc:true];
// 预览
TZImagePickerController *imgPicC=[[TZImagePickerController alloc]initWithSelectedAssets:@[] selectedPhotos:@[] index:0];
// 裁剪
TZImagePickerController *imgPicC=[[TZImagePickerController alloc]initCropTypeWithAsset:nil photo:[UIImage new] completion:^(UIImage *cropImage, id asset) {
}];
// 几s未照片自动dismiss(默认:15s)
[pickerController setTimeout:8];
// 预览页图片的宽度(默认:600px)
[pickerController setPhotoPreviewMaxWidth:200];
// 是否允许选择原图(默认:true)
[pickerController setAllowPickingOriginalPhoto:true];
// 是否允许选择视频(默认:true)
[pickerController setAllowPickingVideo:true];
// 是否允许多选视频(默认:false)
[pickerController setAllowPickingMultipleVideo:true];
// 是否允许选择gif(默认:false)
[pickerController setAllowPickingGif:true];
// 是否允许选择图片(默认:true)
[pickerController setAllowPickingImage:true];
// 是否显示拍照按钮(默认:true)
[pickerController setAllowTakePicture:true];
// 是否显示预览页(默认:true)
[pickerController setAllowPreview:true];
// 是否允许自动消失(默认:true)
[pickerController setAutoDismiss:true];
剪裁
// 是否允许裁剪(默认:true,仅在单选按钮不显示时有效)
[pickerController setAllowCrop:false];
// 剪裁框的尺寸
[pickerController setCropRect:CGRectZero];
// 剪裁框的尺寸(竖屏)
[pickerController setCropRectPortrait:CGRectZero];
// 剪裁框的尺寸(横屏)
[pickerController setCropRectLandscape:CGRectZero];
// 是否圆形剪裁框
[pickerController setNeedCircleCrop:true];
// 圆形剪裁框的半径
[pickerController setCircleCropRadius:10];
// 剪裁框其他属性
[pickerController setCropViewSettingBlock:^(UIView *cropView){
}];
自定义图片/文本
// 自定义图片
[pickerController setTakePictureImageName:@""];
[pickerController setPhotoSelImageName:@""];
[pickerController setPhotoDefImageName:@""];
[pickerController setPhotoOriginSelImageName:@""];
[pickerController setPhotoOriginDefImageName:@""];
[pickerController setPhotoPreviewOriginDefImageName:@""];
[pickerController setPhotoNumberIconImageName:@""];
// 自定义文本
[pickerController setDoneBtnTitleStr:@""];
[pickerController setCancelBtnTitleStr:@""];
[pickerController setPreviewBtnTitleStr:@""];
[pickerController setFullImageBtnTitleStr:@""];
[pickerController setSettingBtnTitleStr:@""];
[pickerController setProcessHintStr:@""];
// 自定义颜色
[pickerController setOKButtonTitleColorNormal:[UIColor whiteColor]];
[pickerController setOKButtonTitleColorDisabled:[UIColor whiteColor]];
[pickerController setNaviBgColor:[UIColor whiteColor]];
[pickerController setNaviTitleFont:[UIFont systemFontOfSize:10]];
[pickerController setNaviTitleColor:[UIColor whiteColor]];
[pickerController setBarItemTextFont:[UIFont systemFontOfSize:10]];
[pickerController setBarItemTextColor:[UIColor whiteColor]];
dele (或者使用handle)
[pickerController setPickerDelegate:self]; // <TZImagePickerControllerDelegate>
// 选择gif后调用
-(void)imagePickerController:(TZImagePickerController *)picker didFinishPickingGifImage:(UIImage *)animatedImage sourceAssets:(id)asset{
}
// 选择视频后调用
-(void)imagePickerController:(TZImagePickerController *)picker didFinishPickingVideo:(UIImage *)coverImage sourceAssets:(id)asset{
}
// 选择照片后调用
-(void)imagePickerController:(TZImagePickerController *)picker didFinishPickingPhotos:(NSArray<UIImage *> *)photos sourceAssets:(NSArray *)assets isSelectOriginalPhoto:(BOOL)isSelectOriginalPhoto{
}
// 选择后调用
-(void)imagePickerController:(TZImagePickerController *)picker didFinishPickingPhotos:(NSArray<UIImage *> *)photos sourceAssets:(NSArray *)assets isSelectOriginalPhoto:(BOOL)isSelectOriginalPhoto infos:(NSArray<NSDictionary *> *)infos{
}
// cancel后调用
-(void)tz_imagePickerControllerDidCancel:(TZImagePickerController *)picker{
}
// 是否显示相册
-(BOOL)isAlbumCanSelect:(NSString *)albumName result:(id)result{
return true;
}
// 是否显示照片
-(BOOL)isAssetCanSelect:(id)asset{
return true;
}
handle
// 选择了视频后调用
[pickerController setDidFinishPickingVideoHandle:^(UIImage *coverImage,id asset){
}];
// 选择了图片后调用
[pickerController setDidFinishPickingPhotosHandle:^(NSArray<UIImage *> *photos,NSArray *assets,BOOL isSelectOriginalPhoto){
}];
// 选择了gif后调用
[pickerController setDidFinishPickingGifImageHandle:^(UIImage *animatedImage,id sourceAssets){
}];
// cancel后调用
[pickerController setImagePickerControllerDidCancelHandle:^{
}];
// 选择后调用
[pickerController setDidFinishPickingPhotosWithInfosHandle:^(NSArray<UIImage *> *photos,NSArray *assets,BOOL isSelectOriginalPhoto,NSArray<NSDictionary *> *infos){
}];
// 单选模式下(即最大可选一张)是否显示选择按钮(默认:false)
[pickerController setShowSelectBtn:true];
// 设置最小选取数(默认:0)/最大选取数(默认:9)
[pickerController setMinImagesCount:0];
[pickerController setMaxImagesCount:9];
// 确认按钮是否一直可点击(无视最小选取数)
[pickerController setAlwaysEnableDoneBtn:true];
// true:按修改时间排序(默认),false:最新照片最前面
[pickerController setSortAscendingByModificationDate:true];
// 导出图片的宽度?
[pickerController setPhotoWidth:200];
// 设置用户已选择的照片,当再次点击时使用
[pickerController setSelectedAssets:[NSMutableArray new]];
// 设置小于图片宽度/高度100的不能选(默认:0)
[pickerController setMinPhotoWidthSelectable:100];
[pickerController setMinPhotoHeightSelectable:100];
// 是否隐藏不可选中的图片(默认:false)
[pickerController setHideWhenCanNotSelect:true];
// 是否使用原始图片
[pickerController setIsSelectOriginalPhoto:true];
// statusBar是否为黑色
[pickerController setIsStatusBarDefault:true];
// 设置返回按钮
[pickerController setNavLeftBarButtonSettingBlock:^(UIButton *leftButton){
}];
网友评论