本篇文章只是記錄了一個自定義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:[UIImageimageNamed:@"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:[UIImageimageNamed:@"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; // 設置座標
[_pageControl setCurrentPage:0];// 設置當前顯示
[_pageControl setNumberOfPages:3];// 設置共幾張
self.pageControl.backgroundColor = [UIColorclearColor];// 設置背景色爲無
[selfsetPageControlPoint];// 這裏寫了一個方法用來設置圖片的顏色,這樣做是因爲在UIScrollView滑動的時候也能改變顏色
[self.pageControlsetHidesForSinglePage:YES];// 此屬性是說明,當只有一個圖片的時候也要顯示一個點,默認爲NO,即不顯示一個點
[img_shade addSubview:self.pageControl];
[self.view addSubview:img_shade];
[img_shade release];
源碼地址:http://download.csdn.net/detail/zgcrichard/6224757