- (id)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; if (self) { // Initialization code _backImage = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, frame.size.width, frame.size.height - 20)]; _backImage.userInteractionEnabled = YES; _backImage.image = [UIImage imageNamed:@"教师讲题-互动.png"]; [self addSubview:_backImage]; _statisScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(7, 9, frame.size.width - 23, frame.size.height - 45)]; _statisScrollView.contentSize = CGSizeMake(_statisScrollView.frame.size.width * 2, _statisScrollView.frame.size.height); _statisScrollView.backgroundColor = [UIColor clearColor]; _statisScrollView.pagingEnabled = YES; _statisScrollView.showsHorizontalScrollIndicator = NO; _statisScrollView.delegate = self; [self addSubview:_statisScrollView]; [_statisScrollView release]; _pageControl = [[UIPageControl alloc] initWithFrame:CGRectMake(0, frame.size.height - 40, frame.size.width, 20)]; _pageControl.backgroundColor = [UIColor clearColor]; _pageControl.currentPage = 0; _pageControl.numberOfPages = 2; [_pageControl addTarget:self action:@selector(getChangePage:) forControlEvents:UIControlEventValueChanged]; [self addSubview:_pageControl]; [_pageControl release]; } return self; } - (void)getChangePage:(UIPageControl *)pageControl { int page = pageControl.currentPage; CGRect frame = _statisScrollView.frame; frame.origin.x = frame.size.width * page;//根据页数算要显示的第几页在scrollView的初始坐标 frame.origin.y = 0; [_statisScrollView scrollRectToVisible:frame animated:YES];//根据坐标显示第几页 } #pragma mark UIScrollViewDelagete - (void)scrollViewDidScroll:(UIScrollView *)scrollView { CGFloat pageWidth = scrollView.frame.size.width; int page = floor((scrollView.contentOffset.x - pageWidth / 2) / pageWidth) + 1;//根据坐标算页数 _pageControl.currentPage = page;//页数赋值给pageControl的当前页 }