首先声明本篇博客是个人原创,绝非抄袭。
自定义实现轮播图
轮播图一般实现在一款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