你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> Iphone應用開發之五: UIScrollView的詳細講解

Iphone應用開發之五: UIScrollView的詳細講解

編輯:IOS開發綜合

今天就講下UIScrollView的一些事情,這個可以拖動的組件無論在應用還是游戲開發都會經常用到,所以我們就一定要更加熟悉它了。下面我們開始下手咯。

(1)初始化

一般的組件初始化都可以alloc和init來初始化,上一段代碼初始化。

view plain

UIScrollView *sv  =[[UIScrollView alloc] initWithFrame:CGRectMake(0.0, 0.0,self.view.frame.size.width, 400)]; 

 

 

一般的初始化也都有很多方法,都可以確定組件的Frame,或者一些屬性,比如UIButton的初始化可以確定Button的類型。當然,我比較提倡大家用代碼來寫,這樣比較了解整個代碼執行的流程,而不是利用IB來弄布局,確實很多人都用IB來布局會省很多時間,但這個因人而異,我比較提倡純代碼寫。

 

(2)滾動屬性

UIScrollView的最大屬性就是可以滾動,那種效果很好看,其實滾動的效果主要的原理是修改他的坐標,准確的講是修改原點坐標,而UIScrollView跟其他組件的都一樣,有自己的delegate,在.h文件中要繼承UIScrollView的delegate然後在.m文件的viewDidLoad設置的delegate為self。如下:

 

view plain

sv.pagingEnabled = YES; 

sv.backgroundColor = [UIColor blueColor]; 

sv.showsVerticalScrollIndicator = NO; 

sv.showsHorizontalScrollIndicator = NO; 

sv.delegate = self; 

 

CGSize newSize = CGSizeMake(self.view.frame.size.width * 2, self.view.frame.size.height); 

[sv setContentSize:newSize]; 

 

[self.view addSubview: sv]; 

 

 

 

在上面的代碼中,一定要設置UIScrollView的pagingEnable為YES。不然你就是設置好了其他屬性,它還是無法拖動,接下去的分別是設置背景顏色和是否顯示水平和豎直拖動條,最後最重要的設置他的ContentSize,ContentSize的意思就是它所有內容的大小,這個和它的Frame是不一樣的,只有ContentSize的大小大於Frame這樣才可以支持拖動。

 

(3)結合UIPageControl做新聞翻頁效果

初始化UIPageControl的方法都很簡單,就是上面講的alloc和init,不過大家要記住的一點就是如果你定義了全局變量一定要在delloc那裡釋放掉。

 

UIPageControl有一個userInteractionEnabled你可以設置它為NO。就是點擊的時候它不調用任何方法。然後設置它的currentPage 為0,並把它加到view上去。

 

接下來在UIScrollView的delegate方法:

view plain

- (void)scrollViewDidScroll:(UIScrollView *)scrollView;   

 

 

在這裡你可以寫上關於UIPageControl的頁面設置的算法。如下

 

view plain

int index = fabs(scrollView.contentOffset.x) /scrollView.frame.size.width; 

 

pageControl.currentPage = index; 

 

 

(4)其他的

UIScrollView還支持處理縮放的動作,比如圖片的縮小或者地圖。

但是必須實現它的委托viewForZoomingInScrollView:

scrollViewDidEndZooming:withView:atScale:然後它的兩個屬性maximumZoomScale和minimumZoomScale 要不一樣。這樣就能基本實現圖片的縮放了。

 

好了,今天講UIScrollView和UIPageControl就到這裡咯,希望大家都能理解。歡迎拍磚。

附加一個photo的利用UIScrollView實現的demo給大家: http://up.2cto.com/2011/1130/20111130025112243.zip

 

作者Andy---清風
 

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved