代码如下:
#import "ViewController.h"
@interface ViewController ()<UIScrollViewDelegate>{
UIPageControl *pagecontrol;
UIScrollView *scrollView;
integer_t i;
}
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
scrollView = [[UIScrollView alloc]initWithFrame:self.view.bounds];
/**
*
*/
for (i = 1; i <= 5; i++) {
UIImage *pageImage = [UIImage imageNamed:[NSString stringWithFormat:@"%d.jpg",i]];
UIImageView *imageView = [[UIImageView alloc]initWithImage:pageImage];
/**
* 设置每一个imageView的位置
*
* @param i <#i description#>
* @param 0 <#0 description#>
* @param scrollView.frame.size.width <#scrollView.frame.size.width description#>
* @param scrollView.frame.size.height <#scrollView.frame.size.height description#>
*
* @return <#return value description#>
*/
imageView.frame = CGRectMake(scrollView.frame.size.width * (i-1), 0,
scrollView.frame.size.width, scrollView.frame.size.height);
[scrollView addSubview:imageView];
}
[scrollView setContentSize:CGSizeMake(scrollView.frame.size.width * (i-1) , scrollView.frame.size.height)];
[scrollView setDelegate:self];
[scrollView setBounces:NO];
[scrollView setShowsHorizontalScrollIndicator:YES];
[scrollView setShowsVerticalScrollIndicator:YES];
[scrollView setIndicatorStyle:UIScrollViewIndicatorStyleWhite];
[self.view addSubview:scrollView];
/**
* 设置pageController的位置和大小
*
*/
// [pagecontrol setCenter:CGPointMake(self.view.bounds.size.width/2, self.view.bounds.size.height-90)];
// [pagecontrol setBounds:CGRectMake(0, 0, 150, 50)];
/**
之前写代码忘了加上这一句init 结果一直不显示出来...
*/
pagecontrol = [[UIPageControl alloc]init];
pagecontrol.bounds = CGRectMake(0, 0, 150, 50);
pagecontrol.center = CGPointMake(scrollView.frame.size.width/2, scrollView.frame.size.height-90);
[pagecontrol setNumberOfPages:5];
[pagecontrol setCurrentPage:0];
[pagecontrol setCurrentPageIndicatorTintColor:[UIColor whiteColor]];
[pagecontrol setPageIndicatorTintColor:[UIColor redColor]];
[pagecontrol addTarget:self action:@selector(updateCurrentPageDisplay) forControlEvents:UIControlEventValueChanged];
[self.view addSubview:pagecontrol];
}
#pragma mark scrollView的代理方法
/**
* 滑动分页切换pagecontrol
*
* @param scrollView <#scrollView description#>
*/
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
[pagecontrol setCurrentPage:(int)scrollView.contentOffset.x / scrollView.frame.size.width ];
}
#pragma mark pageControl监听被点击的方法
- (void)updateCurrentPageDisplay{
[scrollView setContentOffset:CGPointMake(pagecontrol.currentPage * scrollView.frame.size.width, 0)];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
}
@end