1.定义属性
UIScrollView*scroll; // 滚动视图
NSArray*imgArr; // 图片数组
UIPageControl*page; // 分页控件
NSTimer*timer; // 定时器
NSInteger k;
inti;
2.签署滚动视图协议:UIScrollViewDelegate
3.滚动视图一系列属性:
// 创建滚动视图
scroll = [[UIScrollView alloc]initWithFrame:self.view.frame];
// 设置代理
scroll.delegate=self;
// 将滚动视图添加到视图上
[self.view addSubview:scroll];
4.添加图片
// 创建图片数组
imgArr = @[@"图片1",@"图片2",@"图片3",@"图片4"];
// 使用 for 循环设置图片
for(i=0;i<4;i++)
{
// 创建图片框
UIImageView *imgView = [[UIImageView alloc]initWithFrame:CGRectMake(self.view.frame.size.width * i, 0, self.view.frame.size.width, self.view.frame.size.height)];
// 设置图片
imgView.image= [UIImageimageNamed:imgArr[i]];
// 允许与用户交互
imgView.userInteractionEnabled = YES;
// 判断最后一张的时候显示立即体验按钮
if(i==3)
{
// 创建立即体验按钮
UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
btn.frame=CGRectMake((self.view.frame.size.width-100) /2,600,100,44);
[btnsetTitle:@"立即体验"forState:UIControlStateNormal];
// 设置圆角
btn.layer.cornerRadius=8;
btn.layer.masksToBounds=YES;
// 设置边框
btn.layer.borderWidth=1;
btn.layer.borderColor = [UIColor cyanColor].CGColor;
// 给按钮添加点击事件
[btnaddTarget:self action:@selector(btn) forControlEvents:UIControlEventTouchUpInside];
// 将按钮添加到图片上
[imgViewaddSubview:btn];
}
// 将图片框添加到滚动视图上
[scrolladdSubview:imgView];
}
5。分页控制器
page = [[UIPageControl alloc]initWithFrame:CGRectMake((self.view.frame.size.width - 100) / 2, 640, 100, 30)];
// 设置页数
page.numberOfPages = 4;
// 设置页码颜色
page.pageIndicatorTintColor = [UIColor blackColor];
// 设置当前页码的颜色
page.currentPageIndicatorTintColor = [UIColor redColor];
// 添加到视图上
[self.view addSubview:page];
6.为滚动视图添加定时器
timer = [NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector:@selector(bianhuan) userInfo:nil repeats:YES];
(6.1)定时器方法
-(void)bianhuan{
page.currentPage = k;
k++;
[scroll setContentOffset:CGPointMake(k * scroll.frame.size.width, 0) animated:YES];
if(k>=3){
[timerinvalidate];
}
}
7.将分页控制器与滚动视图关联
- (void)scrollViewDidScroll:(UIScrollView*)scrollView
{
// 将滚动的页数和滚动视图关联
page.currentPage = scroll.contentOffset.x / self.view.frame.size.width;
}