iPhone開發應用之表視圖學習案例
iPhone開發應用中表視圖的學習案例是本文要介紹的內容,主要是來學習表視圖的概念及用法,來看看詳細內容。
1、概念
表視圖是用于向用戶顯示數據列表的一種最常見的機制,它們是高度可配置的對象,可以唄配置為用戶所需的任何形式。iPhone可以只有一列
2、表視圖基礎
表用于顯示數據列表,數據列表中的每項都由行表示。
表視圖是顯示表數據的視圖對象,它是UITableView類的一個實例,表中的每個可見行都由UITableViewCell類實現,因此,表視圖是顯示表中可見部分的對象,表視圖單元負責顯示表中的一行
表視圖從遵循UITableVieDelegate協議的對象獲取配置數據,從遵循UITableViewDataSource協議的對象獲得型數據
3、分組表和無格式表
分組表中的每個組都有嵌入在圓角矩形中的多個行組成,注意,一個分組表可以只包含一個組
無格式表:這是默認格式,任何沒有圓角矩形屬性的表都是無格式表視圖
注:如果數據源提供了必要的信息,通過表視圖,用戶可以使用右側的索引來導航列表
表中的每個部分被稱為數據源中的分區,在分組表中,每個分組都是一個分區。
4、方法
- - (NSInteger)tableView:(UITableView *)tableView numberofRowsInsection:(NSInteger)section{
- return [self.你的數組名 count];
- }
表示用它來查看指定分區中有多少行
- - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
- }
當表視圖需要繪制其中一行時,則會調用此方法。第二個參數是NSIndexPath實例,表視圖正是使用此機制把分區和行綁定到一個對象中的。
5、牢記
表中的每一行都有一個UITableViewCell實例表示,該實例是UIView的一個子類,這就意味著每一行都能擁有子視圖。因滾動操作離開屏幕的一些表視圖單元,將被放置在一個可以被重用的單元序列中,如果系統運行比較慢,表視圖就從序列中刪除這些單元,以釋放空間,不過,只要有可用的存儲空間,表視圖就會重新獲取這些單元。
6、表視圖單元樣式
單元樣式使用3種不同的單元元素:
(1)圖像:如果指定樣式中包含圖像,那么該圖像將顯示在單元文本左側
(2)文本標簽:***在單元中顯示的文本
(3)詳細文本標簽:單元的輔助文本,通常用作解釋性的說明或標簽
7、設置縮進級別
- #pragma mark -
- #pragma mark Table Delegate Methods
- - (NSInteger)tableView:(UITableView *) tableView indentationLevelForRowAtIndexPath:(NSIndexPath *)indexPath{
- NSUINteger row = [indexPath row];
- return row;
- }
把每一行的縮進級別設置為其行號,所以0行的縮進級別為0 ,***行為1.
如圖:
8、處理行:指定特定行無響應
- - (NSIndexPath *)tableView:(UITableView *)tableView willselectRowAtIndexPath:(NSIndexPath *)indexPath{
- NSUInteger row = [indexPath row];
- if(row == 0)
- {
- return nil;
- }
- return indexPath;
- }
我們的代碼著眼于哪一行將被選中,如果這一行是***行,其索引將始終是0,那么它將返回nil,表示實際上沒有行被選中,否則,它返回indexPath,表示選擇可以繼續進行。
9、改變字體大小和行高
(1)更改大小:
- cell.textLabel.font = [UIFont boldSystemFontOfSize:50];
(2)更改行高:
- - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
- return 70;
- }
10、添加索引
- - (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView{
- return keys; //此處的keys是我工程里的一個屬性
- }
11、添加搜索欄
創建兩個新字典: 一個包含完整數據集的不可改變的字典,一個可以從中刪除行的可變的字典副本
委托和數據源將從可變字典進行讀取,當搜索標準更改或者取消搜索時,可以從不可改變的字典刷新可變字典。
小結:iPhone開發應用之表視圖學習案例的內容介紹完了,希望通過本文的學習能對你有所幫助!