首先声明本篇博客是个人原创,绝非抄袭。

自定义实现轮播图

轮播图一般实现在一款App的首页的最上部分,能够来回滚动的图片,通常这些图片都对应一个网络Url ,用户点击的时候,能够跳转到对应的UIwebView页面。轮播图也可以使用在用户引导页面,只不过这时候轮播图的大小是全屏的,用户可以在轮播图上放一些控件,用来收集用户的信息,当用户进入程序的时候,可以根据这些信息,加载相应的版块内容,或者推荐相应的推送。轮播图也可以在相框的程序中用到,也可以在新闻类App中对应一个专题的整页的滑动,总之轮播图增添了App的用户体验效果,是必不可少的一个技术实现。

本文的轮播图采用工具:

UIScrollView(用于实现轮播效果)、UILabel(用于显示当前是第几张)、NSTimer(用于实现自动轮播)采用封装的思想,降低耦合度,将该功能组件化。

目前实现的功能相对来说比较简单,功能如下:

能够设置轮播图的位置大小、设置录播的一组图片用数组实现、是否自动轮播、自动轮播间隔时间。

使用:

首先引入ScrollerImage.h 和 ScrollerImage.m文件到工程中

调用接口:

-(id)initWithFrame:(CGRect)frame

              Arrary:(NSArray *)imageArr

        isAutomLunBo:(BOOL)isYes

        setLunBoTime:(NSInteger)intervalTime;

例如:

在一个视图控制器中

#import "ScrollerImage.h"//引入自定义轮播图

@property(nonatomic,strong)ScrollerImage * myImageViewScroller;

 //轮播图的图片数组

                NSArray * arrImg = @[@"1.png",@"2.png",@"3.png",@"4.png",@"5.png",@"6.png",@"7.png",@"8.png",@"9.png"];

                self.myImageViewScroller = [[ScrollerImage alloc]initWithFrame:view.frame Arrary:arrImg isAutomLunBo:NO setLunBoTime:2.3];

                [view addSubview:self.myImageViewScroller];

 代码:

#import <UIKit/UIKit.h>

@interface ScrollerImage : UIView<UIScrollViewDelegate>
@property(assign)NSInteger count;

-(id)initWithFrame:(CGRect)frame
              Arrary:(NSArray *)imageArr
        isAutomLunBo:(BOOL)isYes
        setLunBoTime:(NSInteger)intervalTime;

-(void)dealloc;
@end
View Code  ScrollerImage.h

相关文章: