美文网首页
IOS一个带图文轮播的第三方SDCycleScrollView

IOS一个带图文轮播的第三方SDCycleScrollView

作者: 冯娇王 | 来源:发表于2017-02-17 14:37 被阅读0次

    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";
    
        
        // 情景一:采用本地图片实现
        NSArray *imageNames = @[@"h1.jpg",
                                @"h2.jpg",
                                @"h3.jpg",
                                @"h4.jpg",
                                @"h7" // 本地图片请填写全名
                                ];
        
        // 情景二:采用网络图片实现
        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 ",
                            @"感谢您的支持,如果下载的",
                            @"如果代码在使用过程中出现问题",
                            @"您可以发邮件到gsdios@126.com"
                            ];
        
        CGFloat w = self.view.bounds.size.width;
    
    

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

    1.本地加载

      // 本地加载 --- 创建不带标题的图片轮播器
        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.网络加载 --- 创建带标题的图片轮播器

    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]; // 自定义分页控件小圆标颜色
        [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.网络加载 --- 创建自定义图片的pageControlDot的图片轮播器

    // 网络加载 --- 创建自定义图片的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.创建只上下滚动展示文字的轮播器

     // 网络加载 --- 创建只上下滚动展示文字的轮播器
        // 由于模拟器的渲染问题,如果发现轮播时有一条线不必处理,模拟器放大到100%或者真机调试是不会出现那条线的
        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:@"纯文字上下滚动轮播"];
        [titlesArray addObject:@"纯文字上下滚动轮播 -- demo轮播图4"];
        [titlesArray addObjectsFromArray:titles];
        cycleScrollView4.titlesGroup = [titlesArray copy];
        
        [demoContainerView addSubview:cycleScrollView4];
    

    3.接下来就是点击的delegate方法了

    - (void)cycleScrollView:(SDCycleScrollView *)cycleScrollView didSelectItemAtIndex:(NSInteger)index
    {
        NSLog(@"---点击了第%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];
    }
    
    

    相关文章

      网友评论

          本文标题:IOS一个带图文轮播的第三方SDCycleScrollView

          本文链接:https://www.haomeiwen.com/subject/jhtlwttx.html