滾動(dòng)視圖 UIScrollview
UIScrollView * scrollView = [[UIScrollView alloc]init];
scrollView.frame = CGRectMake(0, 30, 320, 200);
scrollView.backgroundColor = [UIColor redColor];
//設(shè)置內(nèi)容的大小
scrollView.contentSize = CGSizeMake(320 * 7, 200);
//是否具有分頁能力
scrollView.pagingEnabled = YES;
//是否顯示水平方向的指示條
scrollView.showsHorizontalScrollIndicator = NO;
//是否顯示豎直方向的指示條
scrollView.showsVerticalScrollIndicator = NO;
//禁止scrollView的位置自動(dòng)調(diào)整
self.automaticallyAdjustsScrollViewInsets = NO;
//scrollView上可以添加任意類型的子視圖,不一定都是圖像視圖
for (int i = 1 ; i < 8; i++)
{
UIImageView * imageView1 = [[UIImageView alloc]initWithFrame:CGRectMake(320 * (i-1), 0,320, 200)];
NSString * imageName = [NSString stringWithFormat:@"%d.jpg",i];
imageView1.image = [UIImage imageNamed:imageName];
[scrollView addSubview:imageView1];
}
[self.window addSubview:scrollView];
頁面控制的視圖(UIPageControl):
/* 父類是UIControl */
UIPageControl * pageControl = [[UIPageControl alloc]init];
pageControl.frame = CGRectMake(100, 100, 200, 40);
pageControl.backgroundColor = [UIColor yellowColor];
//設(shè)置頁面數(shù)目
pageControl.numberOfPages = 6;
//設(shè)置當(dāng)前頁(頁號(hào)從0開始)
pageControl.currentPage = 1;
//設(shè)置當(dāng)前頁的顏色
pageControl.currentPageIndicatorTintColor = [UIColor blackColor];
//設(shè)置其他頁的顏色
pageControl.pageIndicatorTintColor = [UIColor redColor];
//當(dāng)currentPage發(fā)生變化的時(shí)候,會(huì)調(diào)用changePage方法;
[pageControl addTarget:self action:@selector(changePage:) forControlEvents:UIControlEventValueChanged];
[self.window addSubview:pageControl];
-(void)changePage:(UIPageControl*)pageControl
{
NSLog(@"---");
}
滾動(dòng)視圖和頁面控制視圖的聯(lián)合使用
1忿檩、創(chuàng)建一個(gè)scrollView
2朴皆、創(chuàng)建一個(gè)pageControl
3、聯(lián)合使用潜腻,圖像視圖切換時(shí),讓pageControl的currentPage做出對應(yīng)的變化
//1. 設(shè)置代理
_scrollView.delegate = self;
//2. 當(dāng)pageControl的currentPage發(fā)生變化的時(shí)候器仗,讓scrollView上的圖像視圖 做出對應(yīng)的變化融涣;
[_pageControl addTarget:self action:@selector(changePage) forControlEvents:UIControlEventValueChanged];
//3.
-(void)changePage
{
//獲取當(dāng)前是第幾頁
int page = _pageControl.currentPage ;
//修改scrollView的偏移量
_scrollView.contentOffset = CGPointMake(320 * page, 0);
}
//4.
//scrollView 滑動(dòng)的過程中,會(huì)調(diào)用的協(xié)議方法
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
//將要開始拖拽
-(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
//結(jié)束拖拽青灼,將要減速
-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
//將要開始減速
-(void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView
//已經(jīng)結(jié)束減速;scrollView停止滑動(dòng);
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
//scrollView停止滑動(dòng)的時(shí)候暴心,修改pageControl的currentPage;
//根據(jù)scrollView的水平方法的偏移量計(jì)算出來當(dāng)前是第幾頁;
int page = _scrollView.contentOffset.x / 320 ;
_pageControl.currentPage = page;
}