iOS-圖片輪播-SDCycleSCrollView的使用

來源:互聯網
上載者:User

標籤:

介紹: SDCycleScrollView 是一款非常強大的輪播圖第三方. 輪播流暢,手滑流暢.使用方便.自訂簡單. 可以更改pageControl.

一. Demo地址 https://pan.baidu.com/disk/home#list/path=%2F總結%2FDemo-圖片輪播

二.效果.

三.代碼.

#import "ViewController.h"#import "Masonry.h"#import "SDCycleScrollView.h"#define kWidth [UIScreen mainScreen].bounds.size.width@interface ViewController () <SDCycleScrollViewDelegate>@property (nonatomic, strong) UIImageView  * bgImageView;@property (nonatomic, strong) UIScrollView * bgScrollView;// 本地圖片@property (nonatomic, strong) SDCycleScrollView * localCycleScrollView;// 網狀圖片@property (nonatomic, strong) SDCycleScrollView * webCycleScrollView;// 自訂pageControl@property (nonatomic, strong) SDCycleScrollView * customCycleScrollView;// 跑馬燈效果@property (nonatomic, strong) SDCycleScrollView * textCycleScrollView;@end/** 滾動控制介面 1. autoScrollTimeInterval 自動滾動間隔,預設為2s. 2. infiniteLoop 是否無限迴圈. 3. autoScroll 是否滾動設定. 4. scrollDirection 圖片滾動方向. 5. delegate 設定代理. 6. adjustWhenControllerViewWillAppera 解決viewWillAppear時出現時輪播圖卡在一半的問題,在控制器viewWillAppear時調用此方法 7. *//** 自訂樣式介面 1. bannerImageViewContentMode 輪播圖的ContentMode,預設為UIViewContentModeScaleToFill 2. placeholderImage 佔位圖 用於網路 3. showPageControl 是否顯示分頁控制項 4. hidesForSinglePage 是否在只有一張圖片時隱藏pageControl,預設為Yes. 5. onlyDisplayText 只顯示文字輪播 6. pageControlStyle 樣式. 預設為動畫樣式 7. pageControlAliment 分頁控制項的位置 8. pageControlBottomOffset 分頁控制項距離輪播圖的右邊間距. 9. pageControlDotSize 分頁控制項小圓標的大小 10. currentPageDotColor當前分頁控制項小圓標顏色 11. currentPageDotImage 當前分頁控制項小圓標的圖片 12. pageDotImage 其他分頁控制項小圓標圖片 13. titleLabelTextColor 輪播文字label字型顏色 14. titleLabelTextFont 輪播文字label的字型大小 15. titleLabelBackgroundColor 輪播文字label背景顏色 16. titleLabelHeight 輪播文字字型高度 *//** 清除緩衝 1. clearImagesCache [SDCycleScrollView clearImagesCache]; */@implementation ViewController#pragma mark - 生命週期- (void)viewWillAppear:(BOOL)animated{    [super viewWillAppear:animated];        // 如果你發現你的CycleScrollview會在viewWillAppear時圖片卡在中間位置,你可以調用此方法調整圖片位置    //    [你的CycleScrollview adjustWhenControllerViewWillAppera];}- (void)viewWillDisappear:(BOOL)animated{    [super viewWillDisappear:animated];}#pragma mark viewDidLoad- (void)viewDidLoad{    [super viewDidLoad];        [self basicSetting];        [self addBgModule];        // 本機存放區的圖片    [self local_storage];        // 網狀圖片    [self webImage];        [self cuatomPageControl];        [self onlyText];}#pragma mark - 系統代理程式#pragma mark SDCycleScrollViewDelegate// 點擊圖片代理方法- (void)cycleScrollView:(SDCycleScrollView *)cycleScrollView didSelectItemAtIndex:(NSInteger)index{    NSLog(@"---點擊了第%ld張圖片", (long)index);        // 清理緩衝    [SDCycleScrollView clearImagesCache];}// 滾動到第幾張圖片的回調-(void)cycleScrollView:(SDCycleScrollView *)cycleScrollView didScrollToIndex:(NSInteger)index{    NSLog(@">>>>>> 滾動到第%ld張圖", (long)index);}#pragma mark - 點擊事件#pragma mark - 實現方法#pragma mark 基本設定- (void)basicSetting{    self.title = @"";}- (void)addBgModule{    [self.view addSubview:self.bgImageView];    [self.bgImageView mas_makeConstraints:^(MASConstraintMaker *make) {                make.edges.mas_equalTo(self.view).with.insets(UIEdgeInsetsMake(0, 0, 0, 0));    }];        [self.view addSubview:self.bgScrollView];    [self.bgScrollView mas_makeConstraints:^(MASConstraintMaker *make) {                make.edges.mas_equalTo(self.view).with.insets(UIEdgeInsetsMake(0, 0, 0, 0));    }];}- (void)local_storage{        [self.bgScrollView addSubview:self.localCycleScrollView];    [self.localCycleScrollView mas_makeConstraints:^(MASConstraintMaker *make) {                make.left.mas_equalTo(self.bgScrollView).with.offset(0);        make.width.mas_equalTo(kWidth);        make.top.mas_equalTo(self.bgScrollView).with.offset(20);        make.height.mas_equalTo(180);    }];}- (void)webImage{    [self.bgScrollView addSubview:self.webCycleScrollView];    [self.webCycleScrollView mas_makeConstraints:^(MASConstraintMaker *make) {                make.left.mas_equalTo(self.bgScrollView).with.offset(0);        make.width.mas_equalTo(kWidth);        make.top.mas_equalTo(self.localCycleScrollView.mas_bottom).with.offset(20);        make.height.mas_equalTo(180);    }];}- (void)cuatomPageControl{    [self.bgScrollView addSubview:self.customCycleScrollView];    [self.customCycleScrollView mas_makeConstraints:^(MASConstraintMaker *make) {                make.left.mas_equalTo(self.bgScrollView).with.offset(0);        make.width.mas_equalTo(kWidth);        make.top.mas_equalTo(self.webCycleScrollView.mas_bottom).with.offset(20);        make.height.mas_equalTo(180);    }];}- (void)onlyText{    [self.bgScrollView addSubview:self.textCycleScrollView];    [self.textCycleScrollView mas_makeConstraints:^(MASConstraintMaker *make) {                make.left.mas_equalTo(self.bgScrollView).with.offset(0);        make.width.mas_equalTo(kWidth);        make.top.mas_equalTo(self.customCycleScrollView.mas_bottom).with.offset(20);        make.height.mas_equalTo(40);    }];}#pragma mark - setter & getter- (UIImageView *)bgImageView{    if (!_bgImageView)    {        self.bgImageView = [[UIImageView alloc] init];        self.bgImageView.image = [UIImage imageNamed:@"005.jpg"];    }    return _bgImageView;}- (UIScrollView *)bgScrollView{    if (!_bgScrollView)    {        self.bgScrollView = [[UIScrollView alloc] init];        self.bgScrollView.backgroundColor = [UIColor clearColor];                self.bgScrollView.contentSize = CGSizeMake(kWidth, 1200);    }    return _bgScrollView;}#pragma mark 輪播- (SDCycleScrollView *)localCycleScrollView{    if (!_localCycleScrollView)    {        NSArray * localImageArray = @[@"h1.jpg",                                      @"h2.jpg",                                      @"h3.jpg",                                      @"h4.jpg",                                      @"h7" // 本地圖片請填寫全名                                      ];                self.localCycleScrollView = [SDCycleScrollView cycleScrollViewWithFrame:CGRectZero shouldInfiniteLoop:YES imageNamesGroup:localImageArray];        self.localCycleScrollView.delegate = self;        self.localCycleScrollView.scrollDirection = UICollectionViewScrollDirectionHorizontal;        self.localCycleScrollView.autoScrollTimeInterval = 1;    }    return _localCycleScrollView;}- (SDCycleScrollView *)webCycleScrollView{    if (!_webCycleScrollView)    {        self.webCycleScrollView = [SDCycleScrollView cycleScrollViewWithFrame:CGRectZero delegate:self placeholderImage:[UIImage imageNamed:@"placeholder"]];                // 分頁控制項的位置        self.webCycleScrollView.pageControlAliment = SDCycleScrollViewPageContolAlimentRight;                // 標題        self.webCycleScrollView.titlesGroup = @[@"1",@"2",@"3"];                        // 網狀圖片數組        NSArray * imagesURLStrings = @[@"1",@"2",@"http://pic1.win4000.com/wallpaper/4/510f446941311.jpg"];        self.webCycleScrollView.imageURLStringsGroup = imagesURLStrings;    }    return _webCycleScrollView;}- (SDCycleScrollView *)customCycleScrollView{    if (!_customCycleScrollView)    {        self.customCycleScrollView = [SDCycleScrollView cycleScrollViewWithFrame:CGRectZero delegate:self placeholderImage:[UIImage imageNamed:@"placeholder"]];                self.customCycleScrollView.currentPageDotImage = [UIImage imageNamed:@"pageControlCurrentDot"];        self.customCycleScrollView.pageDotImage = [UIImage imageNamed:@"pageControlDot"];                // 網狀圖片數組        NSArray *imagesURLStrings = @[                                      @"https://ss2.baidu.com/-vo3dSag_xI4khGko9WTAnF6hhy/super/whfpf%3D425%2C260%2C50/sign=a4b3d7085dee3d6d2293d48b252b5910/0e2442a7d933c89524cd5cd4d51373f0830200ea.jpg",                                      @"https://ss0.baidu.com/-Po3dSag_xI4khGko9WTAnF6hhy/super/whfpf%3D425%2C260%2C50/sign=a41eb338dd33c895a62bcb3bb72e47c2/5fdf8db1cb134954a2192ccb524e9258d1094a1e.jpg",                                      @"http://c.hiphotos.baidu.com/image/w%3D400/sign=c2318ff84334970a4773112fa5c8d1c0/b7fd5266d0160924c1fae5ccd60735fae7cd340d.jpg"                                      ];        self.customCycleScrollView.imageURLStringsGroup = imagesURLStrings;    }    return _customCycleScrollView;}- (SDCycleScrollView *)textCycleScrollView{    if (!_textCycleScrollView)    {        self.textCycleScrollView = [SDCycleScrollView cycleScrollViewWithFrame:CGRectZero delegate:self placeholderImage:nil];                self.textCycleScrollView.scrollDirection = UICollectionViewScrollDirectionVertical;        self.textCycleScrollView.onlyDisplayText = YES;        self.textCycleScrollView.titlesGroup = @[@"第一個",@"第二個",@"第三個"];    }    return _textCycleScrollView;}@end

 

iOS-圖片輪播-SDCycleSCrollView的使用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.