一、xib文件构成
二、自定义控件类(xib文件与自定义控件类的文件名字相同,并且将xib文件中父类控件的类名改成自定义控件类的名称)
***********自定义控件类需要的属性*************
1 #import2 3 @interface ChaosPageView : UIView 4 5 /** 图片数据 */ 6 @property(nonatomic,strong) NSArray *images; 7 /** pageControl的当前页圆点颜色 */ 8 @property(nonatomic,strong) UIColor *currentColor; 9 /** pageControl的其他页圆点的颜色 */10 @property(nonatomic,strong) UIColor *otherColor;11 /** 创建分页控件的类方法的声明 */12 +(instancetype)pageView;13 14 @end
***********自定义控件类的实现*************
1 // 2 // ChaosPageView.m 3 // scrollView分页 4 // 5 // Created by admin on 16/3/9. 6 // Copyright © 2016年 admin. All rights reserved. 7 // 8 9 #import "ChaosPageView.h"10 11 @interface ChaosPageView ()// 扩展类12 13 @property (weak, nonatomic) IBOutlet UIScrollView *scrollView;14 @property (weak, nonatomic) IBOutlet UIPageControl *pageControl;15 16 @end17 18 @implementation ChaosPageView19 20 +(instancetype)pageView21 {22 // 从xib中读取控件23 return [[[NSBundle mainBundle] loadNibNamed:NSStringFromClass(self) owner:nil options:nil] lastObject];24 }25 26 #pragma mark - 重写的set方法27 -(void)setImages:(NSArray *)images28 {29 // 重写set方法一定记住先将变量赋值给成员变量30 _images = images;31 32 // 添加之前先清除33 [self.scrollView.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)];34 35 for (int i = 0; i 84 -(void)scrollViewDidScroll:(UIScrollView *)scrollView85 {86 // 计算当前页数的方法--用x方向的偏移量除以图片的宽度,结果四舍五入87 // 四舍五入的方法--得到的结果+0.5,然后结果取整88 self.pageControl.currentPage = (int)self.scrollView.contentOffset.x / self.scrollView.frame.size.width + 0.5;89 }90 91 @end
三、定时器的使用
*********监听图片的滚动***********