NSTimer设置引导页自动轮播

匿名 (未验证) 提交于 2019-12-03 00:22:01

通过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];     }];  }
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!