iOS可复用控件之修改SDCycleScrollView实现轮播图的缩放效果

之前的工作中碰到一个轮播图的需求,需要在图片滚动过程中实现缩放效果,查找资料后没有找到合适的第三方库,所以基于人气比较高的SDCycleScrollView进行修改,实现所需的缩放效果,同时也保留原本的普通轮播图模式,两种模式可以通过一个BOOL值进行切换,先放上修改后的效果图:



有碰到这种需求的小伙伴可以参考一下,GitHub地址:https://github.com/runThor/HTSDCycleScrollView

使用方式基本与SDCycleScrollView一致,新增了一个zoomType属性用于切换普通轮播图模式与缩放效果的轮播图模式,默认为普通轮播图模式。

下面放上基本使用方法,注意SDCycleScrollView是依赖SDWebImage的,两个库都需要导入项目中:

// ViewController.m

#import "SDCycleScrollView.h"

- (void)viewDidLoad {
    [super viewDidLoad];
    
    // 轮播图
    SDCycleScrollView *adCycleScrollView = [SDCycleScrollView cycleScrollViewWithFrame:CGRectMake(0, 100, Screen_Width, 200) delegate:self placeholderImage:[UIImage new]];
    adCycleScrollView.zoomType = YES;  // 是否使用缩放效果,默认为NO,即默认为普通轮播图模式
    adCycleScrollView.pageControlStyle = SDCycleScrollViewPageContolStyleAnimated;
    adCycleScrollView.scrollDirection = UICollectionViewScrollDirectionHorizontal;
    adCycleScrollView.currentPageDotColor = [UIColor whiteColor];
    adCycleScrollView.pageDotColor = [UIColor colorWithWhite:1 alpha:0.5];
    adCycleScrollView.pageControlDotSize = CGSizeMake(20, 6);  // pageControl小圆点的大小
//    adCycleScrollView.imageURLStringsGroup = @[];  // 网络图片
    adCycleScrollView.localizationImageNamesGroup = @[@"img1", @"img2", @"img3", @"img4"];  // 本地图片
    [self.view addSubview:adCycleScrollView];
    
    // 轮播公告
    SDCycleScrollView *noticeView = [SDCycleScrollView cycleScrollViewWithFrame:CGRectMake(0, 350, Screen_Width, 30) delegate:self placeholderImage:nil];
    noticeView.backgroundColor = [UIColor lightGrayColor];
    noticeView.onlyDisplayText = YES;
    noticeView.titlesGroup = @[@"公告1", @"公告2", @"公告3"];
    noticeView.scrollDirection = UICollectionViewScrollDirectionVertical;
    [self.view addSubview:noticeView];
}

猜你喜欢

转载自blog.csdn.net/zzyeeaa/article/details/79726440