基本知識
1。在一個單元中放置更多的數據可以通過兩種方法進行實現,一個是向UITableViewCell 添加子視圖 另一種是通過子類化UITableViewCell.
2.表視圖分爲兩種樣式:分組表和索引表
重要的函數:
表視圖的操作步驟:(前提使控制器類已經和nib文件進行了綁定)
1 添加表視圖 然後和file owner(控制器)建立起數據源和委託
2 爲表視圖所對應的controller添加代碼,使該類遵從兩個協議,類需要使用這兩個協議來充當表視圖的委託和數據源,代碼如下
@interface SimpleTableViewController :UITableViewController
<UITableViewDelegate,UITableViewDataSource>
3通過#parama mark Table View Data Source Method 分隔數據源方法//提供繪製表所需要的所有數據
通過
-(NSInteger)tableView:(UITableView *)tableView numberOfRowInSection:(NSInteger)section函數來設置表視圖中cell的個數
4通過
-(UITableViewCell *)tableCView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 來設置cell中的內容
NSIndexPath是用來提供一行或者一個分區
1)在此方法中 首先應該聲明一個靜態字符串實例 此字符串充當某種表中單元的鍵
2)定義一個出列單元
UITableViewCell *cell = [tableview dequeueReusableCellWithIdentifier:SimpleTableIdentifier];獲取表中出列單元
//就是這個意思如果一個屏幕上最多隻能有10個cell 而且現在10個cell中都有內容當你向下滑的時候下面的單元消失在屏幕上那麼這個單元就是出列單元 你可以直接使用此單元
3)如果沒有出列單元那麼我們就必須自己創建一個單元(爲什麼沒有出列單元?舉個例子最開始創建第一幀顯示在用戶面前的cell的時候都沒有出列單元供他們使用,只能自己創建)
if(cell == nil)
{
cell = [[[UITableViewCell alloc]initWithFrame:CGRectZero reseIdentifier: SimpleTableViewIdentifier]autorelease];
//其中SimpleTableViewIdentifier就是咱們第一步定義的鍵,因爲我們將重複使用此處創建的單元,因此確保他們具有相同的類型
//這裏使用了一個CGRectZero的常量 它是Core Graphics 框架的一部分默認 這個框架沒有連接到項目,你需要把它連接進來
}
4)從你類中存放數據的地方,取出數據放到需要顯示的每一個單元格中
首先你必須要知道需要顯示哪些行
NSUInteger row = [indexPath row];
然後我們使用這個值從數組獲取正確的字符串,分配給單元的text屬性
cell.text = [listData objectAtIndex:row];
5)如果你還想往單元格的左側添加一個圖像那麼:
UIImage *image = [UIImage imageNamed:@"star.png"];
cell.image = image;//實際上cell 隱含了一個image的成員 當成員被賦值時 會在單元格的左側顯示該成員
導航欄的操作步驟: