iOS开发之笔记摘录

SDCycleScrollView照片滚动器 / TZImage

2017-09-20  本文已影响16430人  平安喜乐698

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){
            }];
上一篇 下一篇

猜你喜欢

热点阅读