滚动视图

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;
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_42925415/article/details/82831203