码迷,mamicode.com
首页 > 其他好文 > 详细

图片轮转器的使用(插入广告)

时间:2015-02-01 13:26:06      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:

#import "SKUIViewController.h"
@interface SKUIViewController() <UIScrollViewDelegate>
@property(nonatomic,weak)IBOutlet UIScrollView *scrollview;
@property(nonatomic,weak)IBOutlet UIImageView *imageView;
//高度固定为37,可以通过设置他的Y坐标放到view中去
@property(nonatomic,weak)IBOutlet UIPageControl *pageControl;
@property(nonatomic,strong)NSTimer timer;
@end

@impletation SKUIViewController
-(void)viewDidLoad
{
[super viewDidLoad];
//将图片天道到scrollV中
//int imageCount=10;
//图片显示在滚动栏中的宽和高和滚动栏的宽高一样
CGFloat imageW=self.scrollview.frame.size.width;
CFFloat imageH=self.scrollview.frame.size.height;
CGFloat imageY=0;

for(int i=0;i<imageCount;i++)
{
//在storyboard中向滚动栏添加图片不方便,可采用代码添加
UIImageView *imageView=[[UIImageView alloc]init];
//图片的起始位置和图片的页数有关,也就是说随着图片一张张过去,它的X也会跟着增大相应的倍数
CGFloat imageX=i*imageW;
imageView.frame=CGRectMake(imageX,imageY,imageW,imageH);
//通过获取文件名,设置iamgeview对应的图片
NSString *name=[NSString StringWithFormat:@"image_0%d",i];
imageView.image=[UIImage imageNamed:name];
//将图片添加到滚动栏中去
[self.scrollview addSubview:imageView];
}
//设置scrollView的滚动范围
CGFloat contentW=imageW*imageCount;
//scrollview最多可以滚到图片最后一张,但是它的Y不用改变,设为0
self.scrollview.contentSize(contentW,0);

//隐藏水平滚动条
self.scrollview.showHorizontalScrollIndicator=NO;

//隐藏垂直滚动条
self.scrollview.showVerticalScrollIndicator=NO;

//设置scrollview可以分页
self.scrollview.pagingEnabled=YES;

//设置pageControl的页数
self.pageControl.numbreOfPages=imageCount;

//设置代理
self.scrollview.delagate=self;

[self addTimer];

//addTimer
-(void)addTimer
{
    //添加定时器(每隔2秒会自动调用一次self的nextImage方法)
self.timer=[NSTimer scheduledTimerWithTimeInterval:2.0 target;self selector:@selector(nextImage) userInfo:nil repeats:YES];
//多个业务处理,若下方有一个textview时,它也可以滚动,这时候如果不处理,图片会暂停移动
[[NSRunLoop cuttrentRunLoop] addTimer:self.timer forMode:NSRunLoopCommonModes];
}
//移除定时器
-(void)removeTimer
{
    [self.timer invalidate];
    self,timer=nil;
}


//nextImage方法的实现
-(void)nextImage
{
int page=0;
//增加pageController的页码
if(self.pageControl.currentPage==iamgeCount-1)
    {
    page=0;
    }
else
{
page=self.pageControl.currentPage+1;
}
CGFloat offsetX=page*self.scrollview.frame.width;
CGPoint offset=CGPointMake(offsetX,0);
[self.scrollView setContentOffset:offset animated:YES];

}

//当scrollview正在滚动时调用
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
//根据scroll的滚动位置来决定pageControl显示第几页
int page=(scrollView.contentOffset.x+scrollView.frame.size.width)/(self.scrollView.frame.width);
//将当前页面的页数赋值给pageControl的当前页数。通过这样,可以实现滑动时跳到下一页面或上一页面
self.pageControl.currentPage=page;
}

//当scrollview开始拖拽是调用
-(void)scrollViewWillBiginDragging:(UIScrollView *)scrollView
{
[self removeTimer];
}

//当scrollview停止拖拽时调用
-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView
{
    [self addTimer];    
}

}


@end

图片轮转器的使用(插入广告)

标签:

原文地址:http://www.cnblogs.com/SKuncle/p/4265391.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!