banner封装,圆点自定义为任意图片
2018-01-05 13:19
190 查看
1.效果图:
2.ZLImageViewDisplayView.h
//
// ZLImageViewDisplayView.h
// ZLImageViewDisplay
//
// Created by weihong xuan on 15/8/14.
// Copyright (c) 2015年 weihong xuan All rights reserved.
//
#import <UIKit/UIKit.h>
//点击图片的Block回调,参数当前图片的索引,也就是当前页数
typedef void(^TapImageViewButtonBlock)(NSInteger imageIndex);
@interface ZLImageViewDisplayView :
UIView
{
UIImage*currentImage;
UIImage*otherImage;
}
//当前图片对应的圆点
@property (nonatomic,
copy) NSString * currentImageStr;
//图片对应的圆点
@property (nonatomic,
copy) NSString * otherImageStr;
//切换图片的时间间隔,可选,默认为3s
@property (nonatomic,
assign) CGFloat scrollInterval;
//切换图片时,运动时间间隔,可选,默认为0.7s
@property (nonatomic,
assign) CGFloat animationInterVale;
/**********************************
*功能:便利构造器
*参数:滚动视图的Frame, 要显示图片的数组
*返回值:该类的对象
**********************************/
+ (instancetype) zlImageViewDisplayViewWithFrame: (CGRect) frame
WithImages: (NSArray *) images
WithcurrentImageStr: (NSString *) currentImageStr
WithotherImageStr: (NSString *) otherImageStr;
/**********************************
*功能:便利初始化函数
*参数:滚动视图的Frame, 要显示图片的数组
*返回值:该类的对象
**********************************/
- (instancetype)initWithFrame: (CGRect)frame
WithImages: (NSArray *) images WithcurrentImageStr: (NSString *) currentImageStr
WithotherImageStr: (NSString *) otherImageStr;
/**********************************
*功能:为每个图片添加点击时间
*参数:点击按钮要执行的Block
*返回值:无
**********************************/
- (void) addTapEventForImageWithBlock: (TapImageViewButtonBlock) block;
#pragma 暂停定时器
-(void)resumeTimer;
#pragma 停止定时器
-(void)invalidateTimer;
@end
3.ZLImageViewDisplayView.m
//
// ZLImageViewDisplayView.m
// ZLImageViewDisplay
//
// Created by weihong xuan on 15/8/14.
// Copyright (c) 2015年 weihong xuan All rights reserved.
//
#import "ZLImageViewDisplayView.h"
#import <UIImageView+WebCache.h>
@interface
ZLImageViewDisplayView ()<UIScrollViewDelegate>
@property (nonatomic,
strong) UIScrollView *mainScrollView;
@property (nonatomic,
strong) UIPageControl *mainPageControl;
@property (nonatomic,
assign) CGFloat widthOfView;
@property (nonatomic,
assign) CGFloat heightView;
@property (nonatomic,
strong) NSArray *imageViewArray;
@property (nonatomic,
assign) NSInteger currentPage;
@property (nonatomic,
strong) NSTimer *timer;
@property (nonatomic,
assign) UIViewContentMode imageViewcontentModel;
@property (nonatomic,
strong) UIPageControl *imageViewPageControl;
@property (nonatomic,
strong) TapImageViewButtonBlock block;
@end
@implementation ZLImageViewDisplayView
#pragma -- 遍历构造器
+ (instancetype) zlImageViewDisplayViewWithFrame: (CGRect) frame
WithImages: (NSArray *) images
WithcurrentImageStr: (NSString *) currentImageStr
WithotherImageStr: (NSString *) otherImageStr{
ZLImageViewDisplayView *instance = [[ZLImageViewDisplayView
alloc]
initWithFrame:frame WithImages:images
WithcurrentImageStr:currentImageStr WithotherImageStr:otherImageStr];
return instance;
}
#pragma -- mark 遍历初始化方法
- (instancetype)initWithFrame: (CGRect)frame
WithImages: (NSArray *) images WithcurrentImageStr: (NSString *) currentImageStr
WithotherImageStr: (NSString *) otherImageStr{
self = [super
initWithFrame:frame];
if (self) {
_currentImageStr = currentImageStr;
_otherImageStr = otherImageStr;
//获取滚动视图的宽度
_widthOfView = frame.size.width;
//获取滚动视图的高度
_heightView = frame.size.height;
_scrollInterval =
3;
_animationInterVale =
0.7;
//当前显示页面
_currentPage =
1;
_imageViewcontentModel =
UIViewContentModeScaleToFill;
if (!images || images.count ==
0) {
images = @[@""];
}
self.clipsToBounds =
YES;
//初始化滚动视图
[self
initMainScrollView];
//添加ImageView
[self
addImageviewsForMainScrollWithImages:images];
//添加timer
[self
addPageControl];
[self
addTimerLoop];
}
return
self;
}
- (void) addTapEventForImageWithBlock: (TapImageViewButtonBlock) block{
if (_block ==
nil) {
if (block !=
nil) {
_block = block;
[self
initImageViewButton];
}
}
}
#pragma -- mark 初始化按钮
- (void) initImageViewButton{
for ( int i =
0; i < _imageViewArray.count +
1; i ++) {
CGRect currentFrame =
CGRectMake(_widthOfView * i,
0, _widthOfView,
_heightView);
UIButton *tempButton = [[UIButton
alloc] initWithFrame:currentFrame];
[tempButton addTarget:self
action:@selector(tapImageButton:)
forControlEvents:UIControlEventTouchUpInside];
if (i == 0) {
tempButton.tag =
_imageViewArray.count;
} else {
tempButton.tag = i;
}
[_mainScrollView
addSubview:tempButton];
}
}
- (void) tapImageButton: (UIButton *) sender{
if (_block) {
_block(sender.tag);
}
}
#pragma -- mark 初始化ScrollView
- (void) initMainScrollView{
_mainScrollView = [[UIScrollView
alloc] initWithFrame:CGRectMake(0,
0, _widthOfView,
_heightView)];
_mainScrollView.contentSize =
CGSizeMake(_widthOfView,
_heightView);
_mainScrollView.pagingEnabled =
YES;
_mainScrollView.showsHorizontalScrollIndicator =
NO;
_mainScrollView.showsVerticalScrollIndicator =
NO;
_mainScrollView.delegate =
self;
[self
addSubview:_mainScrollView];
}
#pragma 添加PageControl
- (void) addPageControl{
_imageViewPageControl = [[UIPageControl
alloc]
initWithFrame:CGRectMake(0,
_heightView - 20,
_widthOfView, 20)];
_imageViewPageControl.numberOfPages =
_imageViewArray.count;
_imageViewPageControl.currentPage =
_currentPage - 1;
_imageViewPageControl.tintColor = [UIColor
blackColor];
[self
addSubview:_imageViewPageControl];
currentImage = [UIImage
imageNamed:_currentImageStr];
otherImage = [UIImage
imageNamed:_otherImageStr];
[_imageViewPageControl
setValue:otherImage
forKeyPath:@"_pageImage"];
[_imageViewPageControl
setValue:currentImage
forKeyPath:@"_currentPageImage"];
}
#pragma -- mark 给ScrollView添加ImageView
- (void)addImageviewsForMainScrollWithImages: (NSArray *) images{
//设置ContentSize
_mainScrollView.contentSize =
CGSizeMake(_widthOfView * (images.count+1),
_heightView);
_imageViewArray = images;
for ( int i =
0; i < _imageViewArray.count +
1; i ++) {
CGRect currentFrame =
CGRectMake(_widthOfView * i,
0, _widthOfView,
_heightView);
UIImageView *tempImageView = [[UIImageView
alloc] initWithFrame:currentFrame];
// tempImageView.contentMode = _imageViewcontentModel;
tempImageView.contentMode =
UIViewContentModeScaleAspectFill;
tempImageView.clipsToBounds =
YES;
NSString *imageName;
if (i == 0) {
imageName = [_imageViewArray
lastObject];
} else {
imageName = _imageViewArray[i -
1];
}
[tempImageView sd_setImageWithURL:[NSURL
URLWithString:imageName] placeholderImage:[UIImage
imageNamed:@"testFangImage"]];
[_mainScrollView
addSubview:tempImageView];
}
_mainScrollView.contentOffset =
CGPointMake(_widthOfView,
0);
}
- (void) addTimerLoop{
if (_timer ==
nil) {
_timer = [NSTimer
scheduledTimerWithTimeInterval:_scrollInterval
target:self
selector:@selector(pageOffset)
userInfo:nil
repeats:YES];
}
}
- (void)pageOffset{
_currentPage ++;
if (_currentPage ==
_imageViewArray.count +
1) {
_currentPage =
1;
}
[UIView
animateWithDuration:_animationInterVale
animations:^{
_mainScrollView.contentOffset =
CGPointMake(_widthOfView *
_currentPage, 0);
} completion:^(BOOL finished) {
if (_currentPage ==
_imageViewArray.count) {
_mainScrollView.contentOffset =
CGPointMake(0,
0);
}
}];
_imageViewPageControl.currentPage =
_currentPage - 1;
for (int i =
0;i < _imageViewArray.count; i++) {
UIImageView *imageVieW = [_imageViewPageControl.subviews
objectAtIndex:i];
imageVieW.frame =
CGRectMake(imageVieW.frame.origin.x, imageVieW.frame.origin.y,
otherImage.size.width,
otherImage.size.height);
imageVieW.image =
otherImage;
}
UIImageView *imageVieW = [_imageViewPageControl.subviews
objectAtIndex:_currentPage -
1];
imageVieW.frame =
CGRectMake(imageVieW.frame.origin.x, imageVieW.frame.origin.y,currentImage.size.width,
currentImage.size.height);
imageVieW.image =
currentImage;
}
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
NSInteger currentPage = scrollView.contentOffset.x /
_widthOfView;
if(currentPage ==
0){
_mainScrollView.contentOffset =
CGPointMake(_widthOfView *
_imageViewArray.count,
0);
_imageViewPageControl.currentPage =
_imageViewArray.count;
_currentPage =
_imageViewArray.count;
}
if (_currentPage +
1 == currentPage || currentPage ==
1) {
_currentPage = currentPage;
if (_currentPage ==
_imageViewArray.count +
1) {
_currentPage =
1;
}
if (_currentPage ==
_imageViewArray.count) {
_mainScrollView.contentOffset =
CGPointMake(0,
0);
}
_imageViewPageControl.currentPage =
_currentPage - 1;
[self resumeTimer];
for (int i =
0;i < _imageViewArray.count; i++) {
UIImageView *imageVieW = [_imageViewPageControl.subviews
objectAtIndex:i];
imageVieW.frame =
CGRectMake(imageVieW.frame.origin.x, imageVieW.frame.origin.y,
otherImage.size.width,
otherImage.size.height);
imageVieW.image =
otherImage;
}
UIImageView *imageVieW = [_imageViewPageControl.subviews
objectAtIndex:_currentPage -
1];
imageVieW.frame =
CGRectMake(imageVieW.frame.origin.x, imageVieW.frame.origin.y,currentImage.size.width,
currentImage.size.height);
imageVieW.image =
currentImage;
return;
}
}
#pragma 暂停定时器
-(void)resumeTimer{
if (![_timer
isValid]) {
return ;
}
[_timer
setFireDate:[NSDate
dateWithTimeIntervalSinceNow:_scrollInterval-_animationInterVale]];
}
#pragma 停止定时器
-(void)invalidateTimer{
if (![_timer
isValid]) {
return ;
}
[_timer
invalidate];
_timer = nil;
}
@end
4.使用
NSMutableArray * arrImageData = [[NSMutableArray
alloc]initWithObjects:@"http://118.178.122.109/public/uploads/20170602/67/563d3285678f4fd02e66d231e93cf73261c351.jpg",@"http://118.178.122.109/public/uploads/20170623/10/d6210541a898dc9f6da766a08e2b9d758e9d9d.jpg",@"http://118.178.122.109/public/uploads/20170309/c832712e054e25c8e2afe1685fb0fd07.jpg",
nil];
ZLImageViewDisplayView * imageViewDisplay = [ZLImageViewDisplayView
zlImageViewDisplayViewWithFrame:CGRectMake(0,
0,self.view.frame.size.width,200)
WithImages:arrImageData WithcurrentImageStr:@"compose_keyboard_dot_selected"
WithotherImageStr:@"compose_keyboard_dot_normal"];
imageViewDisplay.scrollInterval =
2;
imageViewDisplay.animationInterVale =
0.6;
[self.view
addSubview:imageViewDisplay];
[imageViewDisplay addTapEventForImageWithBlock:^(NSInteger imageIndex) {
NSLog(@"广告页");
}];
2.ZLImageViewDisplayView.h
//
// ZLImageViewDisplayView.h
// ZLImageViewDisplay
//
// Created by weihong xuan on 15/8/14.
// Copyright (c) 2015年 weihong xuan All rights reserved.
//
#import <UIKit/UIKit.h>
//点击图片的Block回调,参数当前图片的索引,也就是当前页数
typedef void(^TapImageViewButtonBlock)(NSInteger imageIndex);
@interface ZLImageViewDisplayView :
UIView
{
UIImage*currentImage;
UIImage*otherImage;
}
//当前图片对应的圆点
@property (nonatomic,
copy) NSString * currentImageStr;
//图片对应的圆点
@property (nonatomic,
copy) NSString * otherImageStr;
//切换图片的时间间隔,可选,默认为3s
@property (nonatomic,
assign) CGFloat scrollInterval;
//切换图片时,运动时间间隔,可选,默认为0.7s
@property (nonatomic,
assign) CGFloat animationInterVale;
/**********************************
*功能:便利构造器
*参数:滚动视图的Frame, 要显示图片的数组
*返回值:该类的对象
**********************************/
+ (instancetype) zlImageViewDisplayViewWithFrame: (CGRect) frame
WithImages: (NSArray *) images
WithcurrentImageStr: (NSString *) currentImageStr
WithotherImageStr: (NSString *) otherImageStr;
/**********************************
*功能:便利初始化函数
*参数:滚动视图的Frame, 要显示图片的数组
*返回值:该类的对象
**********************************/
- (instancetype)initWithFrame: (CGRect)frame
WithImages: (NSArray *) images WithcurrentImageStr: (NSString *) currentImageStr
WithotherImageStr: (NSString *) otherImageStr;
/**********************************
*功能:为每个图片添加点击时间
*参数:点击按钮要执行的Block
*返回值:无
**********************************/
- (void) addTapEventForImageWithBlock: (TapImageViewButtonBlock) block;
#pragma 暂停定时器
-(void)resumeTimer;
#pragma 停止定时器
-(void)invalidateTimer;
@end
3.ZLImageViewDisplayView.m
//
// ZLImageViewDisplayView.m
// ZLImageViewDisplay
//
// Created by weihong xuan on 15/8/14.
// Copyright (c) 2015年 weihong xuan All rights reserved.
//
#import "ZLImageViewDisplayView.h"
#import <UIImageView+WebCache.h>
@interface
ZLImageViewDisplayView ()<UIScrollViewDelegate>
@property (nonatomic,
strong) UIScrollView *mainScrollView;
@property (nonatomic,
strong) UIPageControl *mainPageControl;
@property (nonatomic,
assign) CGFloat widthOfView;
@property (nonatomic,
assign) CGFloat heightView;
@property (nonatomic,
strong) NSArray *imageViewArray;
@property (nonatomic,
assign) NSInteger currentPage;
@property (nonatomic,
strong) NSTimer *timer;
@property (nonatomic,
assign) UIViewContentMode imageViewcontentModel;
@property (nonatomic,
strong) UIPageControl *imageViewPageControl;
@property (nonatomic,
strong) TapImageViewButtonBlock block;
@end
@implementation ZLImageViewDisplayView
#pragma -- 遍历构造器
+ (instancetype) zlImageViewDisplayViewWithFrame: (CGRect) frame
WithImages: (NSArray *) images
WithcurrentImageStr: (NSString *) currentImageStr
WithotherImageStr: (NSString *) otherImageStr{
ZLImageViewDisplayView *instance = [[ZLImageViewDisplayView
alloc]
initWithFrame:frame WithImages:images
WithcurrentImageStr:currentImageStr WithotherImageStr:otherImageStr];
return instance;
}
#pragma -- mark 遍历初始化方法
- (instancetype)initWithFrame: (CGRect)frame
WithImages: (NSArray *) images WithcurrentImageStr: (NSString *) currentImageStr
WithotherImageStr: (NSString *) otherImageStr{
self = [super
initWithFrame:frame];
if (self) {
_currentImageStr = currentImageStr;
_otherImageStr = otherImageStr;
//获取滚动视图的宽度
_widthOfView = frame.size.width;
//获取滚动视图的高度
_heightView = frame.size.height;
_scrollInterval =
3;
_animationInterVale =
0.7;
//当前显示页面
_currentPage =
1;
_imageViewcontentModel =
UIViewContentModeScaleToFill;
if (!images || images.count ==
0) {
images = @[@""];
}
self.clipsToBounds =
YES;
//初始化滚动视图
[self
initMainScrollView];
//添加ImageView
[self
addImageviewsForMainScrollWithImages:images];
//添加timer
[self
addPageControl];
[self
addTimerLoop];
}
return
self;
}
- (void) addTapEventForImageWithBlock: (TapImageViewButtonBlock) block{
if (_block ==
nil) {
if (block !=
nil) {
_block = block;
[self
initImageViewButton];
}
}
}
#pragma -- mark 初始化按钮
- (void) initImageViewButton{
for ( int i =
0; i < _imageViewArray.count +
1; i ++) {
CGRect currentFrame =
CGRectMake(_widthOfView * i,
0, _widthOfView,
_heightView);
UIButton *tempButton = [[UIButton
alloc] initWithFrame:currentFrame];
[tempButton addTarget:self
action:@selector(tapImageButton:)
forControlEvents:UIControlEventTouchUpInside];
if (i == 0) {
tempButton.tag =
_imageViewArray.count;
} else {
tempButton.tag = i;
}
[_mainScrollView
addSubview:tempButton];
}
}
- (void) tapImageButton: (UIButton *) sender{
if (_block) {
_block(sender.tag);
}
}
#pragma -- mark 初始化ScrollView
- (void) initMainScrollView{
_mainScrollView = [[UIScrollView
alloc] initWithFrame:CGRectMake(0,
0, _widthOfView,
_heightView)];
_mainScrollView.contentSize =
CGSizeMake(_widthOfView,
_heightView);
_mainScrollView.pagingEnabled =
YES;
_mainScrollView.showsHorizontalScrollIndicator =
NO;
_mainScrollView.showsVerticalScrollIndicator =
NO;
_mainScrollView.delegate =
self;
[self
addSubview:_mainScrollView];
}
#pragma 添加PageControl
- (void) addPageControl{
_imageViewPageControl = [[UIPageControl
alloc]
initWithFrame:CGRectMake(0,
_heightView - 20,
_widthOfView, 20)];
_imageViewPageControl.numberOfPages =
_imageViewArray.count;
_imageViewPageControl.currentPage =
_currentPage - 1;
_imageViewPageControl.tintColor = [UIColor
blackColor];
[self
addSubview:_imageViewPageControl];
currentImage = [UIImage
imageNamed:_currentImageStr];
otherImage = [UIImage
imageNamed:_otherImageStr];
[_imageViewPageControl
setValue:otherImage
forKeyPath:@"_pageImage"];
[_imageViewPageControl
setValue:currentImage
forKeyPath:@"_currentPageImage"];
}
#pragma -- mark 给ScrollView添加ImageView
- (void)addImageviewsForMainScrollWithImages: (NSArray *) images{
//设置ContentSize
_mainScrollView.contentSize =
CGSizeMake(_widthOfView * (images.count+1),
_heightView);
_imageViewArray = images;
for ( int i =
0; i < _imageViewArray.count +
1; i ++) {
CGRect currentFrame =
CGRectMake(_widthOfView * i,
0, _widthOfView,
_heightView);
UIImageView *tempImageView = [[UIImageView
alloc] initWithFrame:currentFrame];
// tempImageView.contentMode = _imageViewcontentModel;
tempImageView.contentMode =
UIViewContentModeScaleAspectFill;
tempImageView.clipsToBounds =
YES;
NSString *imageName;
if (i == 0) {
imageName = [_imageViewArray
lastObject];
} else {
imageName = _imageViewArray[i -
1];
}
[tempImageView sd_setImageWithURL:[NSURL
URLWithString:imageName] placeholderImage:[UIImage
imageNamed:@"testFangImage"]];
[_mainScrollView
addSubview:tempImageView];
}
_mainScrollView.contentOffset =
CGPointMake(_widthOfView,
0);
}
- (void) addTimerLoop{
if (_timer ==
nil) {
_timer = [NSTimer
scheduledTimerWithTimeInterval:_scrollInterval
target:self
selector:@selector(pageOffset)
userInfo:nil
repeats:YES];
}
}
- (void)pageOffset{
_currentPage ++;
if (_currentPage ==
_imageViewArray.count +
1) {
_currentPage =
1;
}
[UIView
animateWithDuration:_animationInterVale
animations:^{
_mainScrollView.contentOffset =
CGPointMake(_widthOfView *
_currentPage, 0);
} completion:^(BOOL finished) {
if (_currentPage ==
_imageViewArray.count) {
_mainScrollView.contentOffset =
CGPointMake(0,
0);
}
}];
_imageViewPageControl.currentPage =
_currentPage - 1;
for (int i =
0;i < _imageViewArray.count; i++) {
UIImageView *imageVieW = [_imageViewPageControl.subviews
objectAtIndex:i];
imageVieW.frame =
CGRectMake(imageVieW.frame.origin.x, imageVieW.frame.origin.y,
otherImage.size.width,
otherImage.size.height);
imageVieW.image =
otherImage;
}
UIImageView *imageVieW = [_imageViewPageControl.subviews
objectAtIndex:_currentPage -
1];
imageVieW.frame =
CGRectMake(imageVieW.frame.origin.x, imageVieW.frame.origin.y,currentImage.size.width,
currentImage.size.height);
imageVieW.image =
currentImage;
}
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
NSInteger currentPage = scrollView.contentOffset.x /
_widthOfView;
if(currentPage ==
0){
_mainScrollView.contentOffset =
CGPointMake(_widthOfView *
_imageViewArray.count,
0);
_imageViewPageControl.currentPage =
_imageViewArray.count;
_currentPage =
_imageViewArray.count;
}
if (_currentPage +
1 == currentPage || currentPage ==
1) {
_currentPage = currentPage;
if (_currentPage ==
_imageViewArray.count +
1) {
_currentPage =
1;
}
if (_currentPage ==
_imageViewArray.count) {
_mainScrollView.contentOffset =
CGPointMake(0,
0);
}
_imageViewPageControl.currentPage =
_currentPage - 1;
[self resumeTimer];
for (int i =
0;i < _imageViewArray.count; i++) {
UIImageView *imageVieW = [_imageViewPageControl.subviews
objectAtIndex:i];
imageVieW.frame =
CGRectMake(imageVieW.frame.origin.x, imageVieW.frame.origin.y,
otherImage.size.width,
otherImage.size.height);
imageVieW.image =
otherImage;
}
UIImageView *imageVieW = [_imageViewPageControl.subviews
objectAtIndex:_currentPage -
1];
imageVieW.frame =
CGRectMake(imageVieW.frame.origin.x, imageVieW.frame.origin.y,currentImage.size.width,
currentImage.size.height);
imageVieW.image =
currentImage;
return;
}
}
#pragma 暂停定时器
-(void)resumeTimer{
if (![_timer
isValid]) {
return ;
}
[_timer
setFireDate:[NSDate
dateWithTimeIntervalSinceNow:_scrollInterval-_animationInterVale]];
}
#pragma 停止定时器
-(void)invalidateTimer{
if (![_timer
isValid]) {
return ;
}
[_timer
invalidate];
_timer = nil;
}
@end
4.使用
NSMutableArray * arrImageData = [[NSMutableArray
alloc]initWithObjects:@"http://118.178.122.109/public/uploads/20170602/67/563d3285678f4fd02e66d231e93cf73261c351.jpg",@"http://118.178.122.109/public/uploads/20170623/10/d6210541a898dc9f6da766a08e2b9d758e9d9d.jpg",@"http://118.178.122.109/public/uploads/20170309/c832712e054e25c8e2afe1685fb0fd07.jpg",
nil];
ZLImageViewDisplayView * imageViewDisplay = [ZLImageViewDisplayView
zlImageViewDisplayViewWithFrame:CGRectMake(0,
0,self.view.frame.size.width,200)
WithImages:arrImageData WithcurrentImageStr:@"compose_keyboard_dot_selected"
WithotherImageStr:@"compose_keyboard_dot_normal"];
imageViewDisplay.scrollInterval =
2;
imageViewDisplay.animationInterVale =
0.6;
[self.view
addSubview:imageViewDisplay];
[imageViewDisplay addTapEventForImageWithBlock:^(NSInteger imageIndex) {
NSLog(@"广告页");
}];
相关文章推荐
- 自定义----Banner 轮播加小圆点>> 获取网络图片 点击事件
- BannerLayoutSimple 支持图片无限轮播的 BannerLayout,支持自定义小圆点位置以及显示位置等等,反正支持的挺多的,源码也有注释
- 自定义的symbian图片控件,可在任意的位置放图片
- [插件封装] 创建一个banner广告栏,点击切换图片
- binbinyang---自定义ImagView---实现任意图片.上面添加文字
- 自定义UIPageControl圆点背景图片
- 用自定义图片设置pageControl的圆点
- Android自定义封装banner组件
- 自定义Banner轮播图片
- 自定义view封装-用Button显示商品图片和名称
- phpcms 任意页面调用自定义字段多图片
- Android 封装自定义无限轮播banner之体验装饰模式
- 上传图片响应结果自定义封装
- 用两张图片实现类似于聊天气泡等的特殊轮廓图片的效果(已封装可以自定义修改)
- moo弹出框 改进版 css外置 背景用图片 大小任意缩放 圆角 插入任意内容 自定义按钮 回车空格esc支持 滚动支持 动画开关
- 自定义的symbian图片控件,可在任意的位置放图片
- 自定义的symbian图片控件,可在任意的位置放图片
- (自定义MyBanner)小圆点设置,及viewpager图片轮播
- 自定义图片轮播(Banner)控件的实现解析
- 实现透明状态栏,自定义搜索框,banner实现加载图片,搜索框在banner上