iPhone開發應用之表視圖學習案例

來源:互聯網
上載者:User

iPhone開發應用中表視圖的學習案例是本文要介紹的內容,主要是來學習表視圖的概念及用法,來看看詳細內容。

1、概念

表視圖是用於向使用者顯示資料列表的一種最常見的機制,它們是高度可配置的對象,可以唄配置為使用者所需的任何形式。iPhone可以只有一列

2、表視圖基礎

表用於顯示資料列表,資料列表中的每項都由行表示。

表視圖是顯示表資料的視圖對象,它是UITableView類的一個執行個體,表中的每個可見行都由UITableViewCell類實現,因此,表視圖是顯示表中可見部分的對象,表視圖單元負責顯示表中的一行

表視圖從遵循UITableVieDelegate協議的對象擷取配置資料,從遵循UITableViewDataSource協議的對象獲得型資料

3、分組表和無格式表

分組表中的每個組都有嵌入在圓角矩形中的多個行組成,注意,一個分組表可以只包含一個組

無格式表:這是預設格式,任何沒有圓角矩形屬性的表都是無格式表視圖

註:如果資料來源提供了必要的資訊,通過表視圖,使用者可以使用右側的索引來導航列表

表中的每個部分被稱為資料來源中的分區,在分組表中,每個分組都是一個分區。

4、方法

 
  1. - NSInteger)tableView:(UITableView *)tableView numberofRowsInsection:(NSInteger)section{  
  2. return [self.你的數組名 count];  

表示用它來查看指定分區中有多少行

 
  1. - UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{  

當表視圖需要繪製其中一行時,則會調用此方法。第二個參數是NSIndexPath執行個體,表視圖正是使用此機制把分區和行綁定到一個對象中的。

5、牢記

表中的每一行都有一個UITableViewCell執行個體表示,該執行個體是UIView的一個子類,這就意味著每一行都能擁有子視圖。因滾動操作離開螢幕的一些表視圖單元,將被放置在一個可以被重用的單元序列中,如果系統運行比較慢,表視圖就從序列中刪除這些單元,以釋放空間,不過,只要有可用的儲存空間,表視圖就會重新擷取這些單元。

6、表視圖單元樣式

單元樣式使用3種不同的單元元素:

1)映像:如果指定樣式中包含映像,那麼該映像將顯示在單元文本左側

2)文字標籤:唯一在單元中顯示的文本

3)詳細文字標籤:單元的輔助文本,通常用作解釋性的說明或標籤

7、設定縮排層級

 
  1. #pragma mark -  
  2. #pragma mark Table Delegate Methods  
  3.  
  4.  
  5. - (NSInteger)tableView:(UITableView *) tableView indentationLevelForRowAtIndexPath:(NSIndexPath *)indexPath{  
  6.   NSUINteger row = [indexPath row];  
  7.  
  8. return row;  
  9. } 

把每一行的縮排層級設定為其行號,所以0行的縮排層級為0 ,第一行為1.

8、處理行:指定特定行無響應

 
  1. - NSIndexPath *)tableView:(UITableView *)tableView willselectRowAtIndexPath:(NSIndexPath *)indexPath{  
  2. NSUInteger row = [indexPath row];  
  3.  
  4. if(row == 0)  
  5. {  
  6. return nil;  
  7. }  
  8. return indexPath;  

我們的代碼著眼於哪一行將被選中,如果這一行是第一行,其索引將始終是0,那麼它將返回nil,表示實際上沒有行被選中,否則,它返回indexPath,表示選擇可以繼續進行。

9、改變字型大小和行高

1)更改大小:

 
  1. cell.textLabel.font = [UIFont boldSystemFontOfSize:50]; 

2)更改行高:

 
  1.  - CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{  
  2. return 70;  

10、添加索引

 
  1. - NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView{  
  2. return keys;   //此處的keys是我工程裡的一個屬性  

11、添加搜尋欄

建立兩個新字典: 一個包含完整資料集的不可改變的字典,一個可以從中刪除行的可變的字典副本

委託和資料來源將從可變字典進行讀取,當搜尋標準更改或者取消搜尋時,可以從不可改變的字典重新整理可變字典。

小結:iPhone開發應用之表視圖學習案例的內容介紹完了,希望通過本文的學習能對你有所協助!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.