通过UIScrollView实现
签协议
<UIScrollViewDelegate>
定义属性
@property (nonatomic ,strong) UIScrollView *yyScrollView; @property (nonatomic,assign) int conut;
代码如下:
- (void)viewDidLoad { [super viewDidLoad]; self.conut = 0; // 创建滚动视图,并设置其相关的属性 _yyScrollView = [[UIScrollView alloc] initWithFrame:self.view.frame]; [self.view addSubview:_yyScrollView]; _yyScrollView.delegate = self; _yyScrollView.pagingEnabled = YES; _yyScrollView.bounces = NO; _yyScrollView.contentSize = CGSizeMake(self.view.frame.size.width * 3, 0); _yyScrollView.showsVerticalScrollIndicator = NO; __weak typeof(self) weakSelf = self; NSArray *imgArr = @[@"cat1.jpeg",@"cat2.jpeg",@"cat3.jpeg"]; for (int i = 0; i < 3; i ++) { UIImageView *img = [[UIImageView alloc] initWithFrame:CGRectMake(self.view.frame.size.width * i, 0, self.view.frame.size.width, self.view.frame.size.height)]; img.image = [UIImage imageNamed:imgArr[i]]; [_yyScrollView addSubview:img]; } // 图片每隔两秒换一张 [NSTimer scheduledTimerWithTimeInterval:2.0 repeats:3 block:^(NSTimer * _Nonnull timer) { weakSelf.conut += 1; NSLog(@"-----%d",weakSelf.conut); [weakSelf.yyScrollView setContentOffset:CGPointMake(weakSelf.view.bounds.size.width * weakSelf.conut, 0)]; if (weakSelf.conut == 3) { // 定时器停止执行 [timer invalidate]; } }]; // 共6秒后跳到主页面 [NSTimer scheduledTimerWithTimeInterval:6.0 repeats:0 block:^(NSTimer * _Nonnull timer) { // 设置要跳转到的相对应的控制器 ViewController *vc = [[ViewController alloc] init]; [self presentViewController:vc animated:YES completion:nil]; }]; }
文章来源: NSTimer设置引导页自动轮播