效果圖

新特性-UIScrollView.gif
需求:
實現(xiàn)手動圖片輪播的功能
點擊,進入/跳過,直接進入主界面!
思路:
- 顯示圖片(純代碼顯示圖片)
創(chuàng)建imageView -> 創(chuàng)建image -> 設置imageView的frame -> 添加到self.view上面. - 實現(xiàn)輪播效.
- 設置contentSize屬性
self.scrollView.contentSize = CGSizeMake(self.imgW * self.pageSum, 0); - 設置多張圖片的frame和顯示圖片
for (int i = 0; i< self.pageSum; i++) { self.image = [UIImage imageNamed:[NSString stringWithFormat:@"guide%d",i+1]]; self.imageView = [[UIImageView alloc]initWithImage:self.image]; self.imageView.frame = CGRectMake(i*self.imgW, 0, self.imgW, self.imgH); [self.scrollView addSubview: self.imageView]; }- 設置分頁效果
直接啟用UIScrollView的分頁,那么UIScrollView就會根UIScrollView自身的寬度,來實現(xiàn)分頁得!
UIScrollView的寬度 == 分頁的寬度
self.scrollView.pagingEnabled = YES; // 啟動分頁 - 實現(xiàn)分頁控件(UIPageControl)
1. 創(chuàng)建分頁控制器 UIPageControl * pageControl = [[UIPageControl alloc]init]; 2.分頁控制器總共多少頁 pageControl.numberOfPages = self.pageSum; 3.分頁控制器的frame pageControl.frame = CGRectMake(0, self.imgH*0.72, self.imgW, 28); 4.未選中分頁的顏色和選中分頁的顏色 pageControl.pageIndicatorTintColor = [UIColor blackColor]; pageControl.currentPageIndicatorTintColor = [UIColor redColor]; 5.先創(chuàng)建UIScrollView,再創(chuàng)建UIPagControl(否則會被UIScrollView遮住) [self.view addSubview:self.scrollView]; [self.view addSubview:pageControl];- 讓UIPageControl跟隨UIScrollView動起來!(代理方法)
- scrollViewDidScroll(scrollView代理方法 - 滾動時調(diào)用)
- 獲取偏移量,計算出當前的頁數(shù)(偏移量/每頁的寬度).加0.5是因為,如果在兩頁之間,則pageControl控件會動!
- currentPage(現(xiàn)在頁數(shù))
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{ double page = scrollView.contentOffset.x/scrollView.frame.size.width; self.pageControl.currentPage = (int)(page+0.5); }
- 設置contentSize屬性
- 實現(xiàn)“跳過”“,“進入”的功能
1.判斷當前是第0-2頁/最后一頁
2.創(chuàng)建按鈕, 設置按鈕的frame, 給按鈕添加點擊事件
3.將按鈕添加到self.imageView上面1. [[UIButton alloc]init] 2. skipBtn.frame = CGRectMake(self.imgW*0.5-75, skipBtnY, 150, 35); 3. [skipBtn addTarget:self action:@selector(didSkipBtnClick) forControlEvents:UIControlEventTouchUpInside];
[imageView addSubview:skipBtn]; - 優(yōu)化
- 狀態(tài)欄(無線,電池...)內(nèi)容隱藏, info.plist里面配置2個鍵值對!
Status bar is initially hidden-YES (狀態(tài)欄最初隱藏 - YES)View controller-based status bar appearance-NO (視圖控制器狀態(tài)欄外觀 - NO ) - 彈簧效果,UIScrollView自帶動畫效果
self.scrollView.bounces = YES; //彈簧效果
self.scrollView setContentOffSet: animated; //自帶動畫效果(滾動的時候,不會太生硬,古板!)
- 狀態(tài)欄(無線,電池...)內(nèi)容隱藏, info.plist里面配置2個鍵值對!