UIPageControl与UIScrollView的联合使用
- - (id)initWithFrame:(CGRect)frame
- {
- self = [super initWithFrame:frame];
- if (self) {
- // Initialization code
- _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;//根据页数计算要显示的坐标区域
- 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的当前页
- }
创新互联专业为企业提供霍林郭勒网站建设、霍林郭勒做网站、霍林郭勒网站设计、霍林郭勒网站制作等企业网站建设、网页设计与制作、霍林郭勒企业网站模板建站服务,10年霍林郭勒做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
文章标题:UIPageControl与UIScrollView的联合使用
当前网址:http://scyanting.com/article/jsispi.html