UIPageControl *page = [[UIPageControl alloc]init];
page.backgroundColor = [UIColor yellowColor];
page.frame=CGRectMake(100, 300, 100, 100);
_pageControl = page;
[self.view addSubview:page];
这个是必须 先创建一个pageControl
_pageControl.numberOfPages = 5;
这个pageControl的page个数是5,若不设置,默认是0
_pageControl.currentPage = 1;
设置这个pageControl的当前分页的下标 下标是1 但是第二个,和数组一个理,它的个数是从0到numberOfPages-1
_pageControl.hidesForSinglePage = YES;
设置这个属性为yes的时候 当 numberOfPages==1的时候 这个pageControl会被隐藏 默认是no
_pageControl.pageIndicatorTintColor = [UIColor redColor];
设置pageControl的其他分页(不是选中的那个分页)的颜色,正常状态下
_pageControl.currentPageIndicatorTintColor = [UIColor blackColor];
设置pageControl的选中的那个当前分页的颜色 ,选中状态下的颜色
_pageControl.defersCurrentPageDisplay = YES;
点击pageControl的其他地方,当前的选中的page不会改变 颜色不会变 但是下边变了 默认是no,默认是会变的
[_pageControl addTarget:self action:@selector(pageControlChanged) forControlEvents:UIControlEventValueChanged];
当用户点击pageControl的其他地方,会进入 pageControlChanged这个方法 在这里你可以打印当前的下标
-(void)pageControlChanged{
[_pageControl updateCurrentPageDisplay];
defersCurrentPageDisplay为yes 必须要用updateCurrentPageDisplay这个方法来更新当前currentPage的状态
}
CGSize size= [_pageControl sizeForNumberOfPages:_pageControl.numberOfPages];
NSLog(@"1size = %@",NSStringFromCGSize(size));
_pageControl.frame=CGRectMake(100, 300, size.width, size.height);
对于这个sizeForNumberOfPages貌似是可以确定这个控件的宽度和高度。xcode系统说明的是,这个返回要展示给出的点的最小的size,若页数可能会变的话。它也可以用来约束这个控件的size我对于这个方法理解的不是很深。若有知道的大神的话,求大神指导指导。先谢谢啦