IOS一個(gè)帶圖文輪播的第三方SDCycleScrollView

SDCycleScrollView 有好幾種初始化的樣式,在此列舉一些平常日用的樣式

github地址:https://github.com/DevFengJiao/SDCycleScrollView

1.初始化一些基本屬性

UIScrollView *demoContainerView = [[UIScrollView alloc] initWithFrame:self.view.frame];
    demoContainerView.contentSize = CGSizeMake(self.view.frame.size.width, 1200);
    [self.view addSubview:demoContainerView];
self.title = @"輪播Demo";

    
    // 情景一:采用本地圖片實(shí)現(xiàn)
    NSArray *imageNames = @[@"h1.jpg",
                            @"h2.jpg",
                            @"h3.jpg",
                            @"h4.jpg",
                            @"h7" // 本地圖片請(qǐng)?zhí)顚懭?                            ];
    
    // 情景二:采用網(wǎng)絡(luò)圖片實(shí)現(xiàn)
    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"
                           ];
    
    // 情景三:圖片配文字
    NSArray *titles = @[@"新建交流QQ群:185534916 ",
                        @"感謝您的支持,如果下載的",
                        @"如果代碼在使用過(guò)程中出現(xiàn)問(wèn)題",
                        @"您可以發(fā)郵件到gsdios@126.com"
                        ];
    
    CGFloat w = self.view.bounds.size.width;

2.初始化輪播控件的方法

1.本地加載

  // 本地加載 --- 創(chuàng)建不帶標(biāo)題的圖片輪播器
    SDCycleScrollView *cycleScrollView = [SDCycleScrollView cycleScrollViewWithFrame:CGRectMake(0, 64, w, 180) shouldInfiniteLoop:YES imageNamesGroup:imageNames];
    cycleScrollView.delegate = self;
    cycleScrollView.pageControlStyle = SDCycleScrollViewPageContolStyleAnimated;
    [demoContainerView addSubview:cycleScrollView];
    cycleScrollView.scrollDirection = UICollectionViewScrollDirectionVertical;

2.網(wǎng)絡(luò)加載 --- 創(chuàng)建帶標(biāo)題的圖片輪播器

SDCycleScrollView *cycleScrollView2 = [SDCycleScrollView cycleScrollViewWithFrame:CGRectMake(0, 280, w, 180) delegate:self placeholderImage:[UIImage imageNamed:@"placeholder"]];
    
    cycleScrollView2.pageControlAliment = SDCycleScrollViewPageContolAlimentRight;
    cycleScrollView2.titlesGroup = titles;
    cycleScrollView2.currentPageDotColor = [UIColor whiteColor]; // 自定義分頁(yè)控件小圓標(biāo)顏色
    [demoContainerView addSubview:cycleScrollView2];
  //         --- 模擬加載延遲
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
        cycleScrollView2.imageURLStringsGroup = imagesURLStrings;
    });

3.網(wǎng)絡(luò)加載 --- 創(chuàng)建自定義圖片的pageControlDot的圖片輪播器

// 網(wǎng)絡(luò)加載 --- 創(chuàng)建自定義圖片的pageControlDot的圖片輪播器
    SDCycleScrollView *cycleScrollView3 = [SDCycleScrollView cycleScrollViewWithFrame:CGRectMake(0, 500, w, 180) delegate:self placeholderImage:[UIImage imageNamed:@"placeholder"]];
    cycleScrollView3.currentPageDotImage = [UIImage imageNamed:@"pageControlCurrentDot"];
    cycleScrollView3.pageDotImage = [UIImage imageNamed:@"pageControlDot"];
    cycleScrollView3.imageURLStringsGroup = imagesURLStrings;
    
    [demoContainerView addSubview:cycleScrollView3];

4.創(chuàng)建只上下滾動(dòng)展示文字的輪播器

 // 網(wǎng)絡(luò)加載 --- 創(chuàng)建只上下滾動(dòng)展示文字的輪播器
    // 由于模擬器的渲染問(wèn)題,如果發(fā)現(xiàn)輪播時(shí)有一條線不必處理,模擬器放大到100%或者真機(jī)調(diào)試是不會(huì)出現(xiàn)那條線的
    SDCycleScrollView *cycleScrollView4 = [SDCycleScrollView cycleScrollViewWithFrame:CGRectMake(0, 750, w, 40) delegate:self placeholderImage:[UIImage imageNamed:@"h1.jpg"]];
    cycleScrollView4.scrollDirection = UICollectionViewScrollDirectionVertical;
    cycleScrollView4.onlyDisplayText = YES;
    
    NSMutableArray *titlesArray = [NSMutableArray new];
    [titlesArray addObject:@"純文字上下滾動(dòng)輪播"];
    [titlesArray addObject:@"純文字上下滾動(dòng)輪播 -- demo輪播圖4"];
    [titlesArray addObjectsFromArray:titles];
    cycleScrollView4.titlesGroup = [titlesArray copy];
    
    [demoContainerView addSubview:cycleScrollView4];

3.接下來(lái)就是點(diǎn)擊的delegate方法了

- (void)cycleScrollView:(SDCycleScrollView *)cycleScrollView didSelectItemAtIndex:(NSInteger)index
{
    NSLog(@"---點(diǎn)擊了第%ld張圖片", (long)index);
    
    if (cycleScrollView.tag ==1) {
        NSLog(@"cycleScrollView.tag =1");
    }else{
        NSLog(@"cycleScrollView.tag =2**3");
    }
    
    ActionRabiosModel *model = actIDs[index];
    
    ActionDetailViewController *vc = [[ActionDetailViewController alloc]initWithNibName:@"ActionDetailViewController" bundle:MAINBUNDLE];
    vc.actionId = [model.act_id intValue];
    vc.hidesBottomBarWhenPushed = YES;
    [self.navigationController pushViewController:vc animated:YES];
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容