通常情况是UIPageControl的点的设置是默认的,没法通过属性来设置点与点之间的大小和行距。但通过重写UIPageControl的layoutSubviews方法便可以设置
步骤一 建一个继承于UIPageControl的类,然后在此类的 .m 文件中设置如下代码,再在所需要的地方导入新建的类,通过和普通设置UIPageControl的方法设置就行了
- (void)layoutSubviews
{
for (NSUInteger index = 0; index < [self.subviews count]; index++) {
UIImageView* subview = [self.subviews objectAtIndex:index];
CGSize size = CGSizeMake(R, R);
subview.layer.cornerRadius = R / 2;
subview.layer.masksToBounds = YES;
subview.frame = CGRectMake( index * 40, 20, size.width,size.height);
if (index == self.currentPage) {
[subview setBackgroundColor:self.currentPageIndicatorTintColor];
} else {
[subview setBackgroundColor:self.pageIndicatorTintColor];
}
}
}
网友评论