1 #import "ViewController.h"
2 #define kDeviceWidth [UIScreen mainScreen].bounds.size.width
3 #define kDeviceHeight [UIScreen mainScreen].bounds.size.height
4 #define Kpage 3
5 @interface ViewController ()<UIScrollViewDelegate>
6
7 @property(nonatomic,strong)UIPageControl *pageCtrl;
8 @property (nonatomic,weak) UIScrollView *scrollView;
9 @property (nonatomic,weak) UIImageView *currentImageView; // 当前imageView
10 @property (nonatomic,weak) UIImageView *nextImageView; // 下一个imageView
11 @property (nonatomic,weak) UIImageView *preImageView; //上一个imageView
12 @property (nonatomic,assign) BOOL isDragging; // 是否正在滚动
13 @property (nonatomic,strong)NSTimer *timer;
14 @end
15
16 @implementation ViewController
17
18 - (void)viewDidLoad {
19 [super viewDidLoad];
// 注意,在有导航栏的情况下,需要在viewDidLoad 中加上 self.automaticallyAdjustsScrollViewInsets = NO;不然会出现图片下移64的情况 ,scrollView.frame的高度要比图片的高度大64,不然,图片显示不全
20 UIScrollView *scrollView =[[UIScrollView alloc] init];
21 scrollView.frame = CGRectMake(0, 0, kDeviceWidth, kDeviceHeight);
22 [self.view addSubview:scrollView];
23 self.scrollView = scrollView;
24 [self.scrollView setContentSize:CGSizeMake(kDeviceWidth * 3, kDeviceWidth)];
25 // 设置隐藏横向条
26 self.scrollView.showsHorizontalScrollIndicator = NO;
27 // 设置自动分页
28 self.scrollView.pagingEnabled = YES;
29 // 设置代理
30 self.scrollView.delegate = self;
31 // 设置当前点
32 self.scrollView.contentOffset = CGPointMake(kDeviceWidth, 0);
33 // 设置是否有边界
34 self.scrollView.bounces = NO;
35 // 初始化当前视图
// 注意:这里如果图片向左轮播,无需初始化上一个视图;如果图片向右轮播,无需初始化下一个视图
36 UIImageView *currentImageView =[[UIImageView alloc] init];
37 currentImageView.image = [UIImage imageNamed:@"bg_01"];
38 [self.scrollView addSubview:currentImageView];
39 self.currentImageView = currentImageView;
40 self.currentImageView.frame = CGRectMake(kDeviceWidth, 0, kDeviceWidth, kDeviceHeight);
41 self.currentImageView.contentMode = UIViewContentModeScaleAspectFill;
42 // 初始化下一个视图
43 UIImageView *nextImageView = [[UIImageView alloc] init];
44 nextImageView.image = [UIImage imageNamed:@"bg_02"];
45 [self.scrollView addSubview:nextImageView];
46 self.nextImageView = nextImageView;
47 self.nextImageView.frame = CGRectMake(kDeviceWidth * 2, 0, kDeviceWidth, kDeviceHeight);
48 self.nextImageView.contentMode = UIViewContentModeScaleAspectFill;
49 // 初始化上一个视图,
50 UIImageView *preImageView =[[UIImageView alloc] init];
51 preImageView.image = [UIImage imageNamed:@"bg_03"];
52 preImageView.frame = CGRectMake(0, 0, kDeviceWidth, kDeviceHeight);
53 [self.scrollView addSubview:preImageView];
54 self.preImageView = preImageView;
55 self.preImageView.contentMode =UIViewContentModeScaleAspectFill;
56
57 // 设置时钟动画 定时器
58
59 self.timer = [NSTimer scheduledTimerWithTimeInterval:2 target:self selector:@selector(update:) userInfo:nil repeats:YES];
60 // 将定时器添加到主线程
61 [[NSRunLoop mainRunLoop] addTimer:self.timer forMode:NSRunLoopCommonModes];
62
63 }
64 // 分页
65 -(UIPageControl *)pageCtrl{
66 if (_pageCtrl == nil) {
67
68 //分页控件
69 _pageCtrl = [[UIPageControl alloc]init];
70 _pageCtrl