ViewController.m
#import "ViewController.h"
#define HCWidth self.view.frame.size.width
#define HCHeigth self.view.frame.size.height
@interface ViewController ()<UIScrollViewDelegate>{
UIScrollView *sc; //滚动式图
UIPageControl *pageC; //分页控制符
NSArray *imgArr; //图片数组
NSTimer *timer; //时间定时器
int k; //计数
}
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
//初始化定时器
timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(qqq) userInfo:nil repeats:YES];
//定时器开启
[timer fire];
//滚动式图
sc = [[UIScrollView alloc] initWithFrame:self.view.frame];
//设置滚动式图的代理
sc.delegate = self;
//滚动范围
sc.contentSize = CGSizeMake(HCWidth*4, HCHeigth);
//分页
sc.pagingEnabled = YES;
//弹簧
sc.bounces = NO;
//禁用水平滚动条
sc.showsHorizontalScrollIndicator = NO;
//添加图片
for (int i = 0; i < 4; i++) {
//图片
UIImageView *imgV = [[UIImageView alloc] initWithFrame:CGRectMake(HCWidth*i, 0, HCWidth, HCHeigth)];
//图片数组
imgArr = @[@"1",@"2",@"3",@"4"];
//设置图片交互
imgV.userInteractionEnabled = YES;
//添加图片
imgV.image = [UIImage imageNamed:imgArr[i]];
//设置跳转按钮
if (i == 3) {
//创建按钮
UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(200, 550, 100, 50)];
//给按钮设置一个背景颜色
btn.backgroundColor = [UIColor redColor];
//添加事件
[btn addTarget:self action:@selector(abc) forControlEvents:UIControlEventTouchUpInside];
//添加到图片上
[imgV addSubview:btn];
}
//添加到滚动式图
[sc addSubview:imgV];
}
[self.view addSubview:sc];
//豆豆
pageC = [[UIPageControl alloc] initWithFrame:CGRectMake((HCWidth-200)/2, 660, 200, 40)];
//豆豆的数量
pageC.numberOfPages = imgArr.count;
//豆豆颜色
pageC.pageIndicatorTintColor = [UIColor blackColor];
pageC.currentPageIndicatorTintColor = [UIColor orangeColor];
//默认选中
pageC.currentPage = 0;
//将豆豆网滚动视图里加
[self.view addSubview:pageC];
}
//视图已经滚动的方法
-(void)scrollViewDidScroll:(UIScrollView *)scrollView{
pageC.currentPage = sc.contentOffset.x/HCWidth;
NSLog(@"%lf",sc.contentOffset.x);
}
//按钮点击方法
-(void)abc{
}
//定时器 (1s -> 进入一次)
-(void)qqq{
NSLog(@"%d",k);
//set 方法 -> 设置 滚动式图的偏移量
[sc setContentOffset:CGPointMake(k*HCWidth, 0)];
k++;
if (k > 3) {
k=0;
//定时器停止
// [timer invalidate];
// sc.scrollEnabled = NO;
}
}