本篇文章只是记录了一个自定义UIPageControl 的制作,其实很简单的   源码在底部会奉上链接,还望多多交流,多多支持

首先效果图如下:

首先先做一个UISCrollView

// 建议这样做,可以避免内存的泄露


UIScrollView *scrol = [[UIScrollViewalloc]init];

self.scrol = scrol;

   [scrol release];


MyPageControl *page = [[MyPageControlalloc]init];

self.pageControl = page;

   [page release];


  //  设置UIScrollView的一些属性

self.scrol.frame =CGRectMake(0,5,320,150);

self.scrol.contentSize =CGSizeMake(320*3,150);

self.scrol.showsHorizontalScrollIndicator =NO;

self.scrol.pagingEnabled =YES;

self.scrol.bounces =NO;

self.scrol.delegate =self;


//    这里添加3张图片 做演示用

for (int i = 0; i<3; i++) {

UIImageView *imgv = [[UIImageViewalloc]initWithImage:[UIImagep_w_picpathNamed:@"default_pic.png"]];

       imgv.frame = CGRectMake(i*320,0,320, 150);

       [self.scroladdSubview:imgv];

       [imgv release];

   }

   [self.viewaddSubview:self.scrol];


   //   添加图片下方的阴影  

UIImageView *img_shade = [[UIImageViewalloc]initWithImage:[UIImagep_w_picpathNamed:@"shade.png"]];

   img_shade.frame = CGRectMake(0,135,320, 20);


   //   下面才是重点  

CGRect rect =CGRectMake(img_shade.center.x-self.pageControl.frame.size.width/2, img_shade.frame.size.height -20,35,20);

self.pageControl.frame = rect;  //    设置坐标

   [_pageControlsetCurrentPage:0];//    设置当前显示

   [_pageControlsetNumberOfPages:3];//    设置共几张

self.pageControl.backgroundColor = [UIColorclearColor];//    设置背景色为无

   [selfsetPageControlPoint];//    这里写了一个方法用来设置图片的颜色,这样做是因为在UIScrollView滑动的时候也能改变颜色

   [self.pageControlsetHidesForSinglePage:YES];//    此属性是说明,当只有一个图片的时候也要显示一个点,默认为NO,即不显示一个点


   [img_shade addSubview:self.pageControl];


   [self.viewaddSubview:img_shade];

   [img_shade release];


源码地址:http://download.csdn.net/detail/zgcrichard/6224757