-、建立
uitableview
datatable = [[uitableview alloc] initwithframe:cgrectmake(0, 0, 320, 420)];
[datatable setdelegate:self];
[datatable setdatasource:self];
[self.view addsubview:datatable];
[datatable release];
二、uitableview各method說明
//section總數
- (nsarray *)sectionindextitlesfortableview:(uitableview *)tableview
// section titles
//每個section顯示的標題
- (nsstring *)tableview:(uitableview *)tableviewtitleforheaderinsection
:(nsinteger)section
//指
定有多少個分割槽(section),預設為1
- (nsinteger)numberofsectionsintableview:(uitableview *)tableview
//指定每個分割槽中有多少行,預設為1
- (nsinteger)tableview:(uitableview *)tableviewnumberofrowsinsection:(nsinteger)section
//繪製cell
-(uitableviewcell *)tableview:(uitableview *)tableviewcellforrowatindexpath:(nsindexpath *)indexpath
cell.imageview.image=image;//未選cell時的
cell.imageview.highlightedimage=highlightimage;//選中cell後的
cell.text=//.....
return cell;
}//行縮排
-(nsinteger)tableview:(uitableview *)tableviewindentationlevelforrowatindexpath:(nsindexpath *)indexpath
//改變行的高度
- (cgfloat)tableview:(uitableview *)tableviewheightforrowatindexpath:(nsindexpath *)indexpath
//定位
[topicstablesetcontentoffset:cgpointmake(0, promisenum * 44 + chapter * 20)];
//返回當前所選cell
nsindexpath*ip = [nsindexpathindexpathforrow
:row
insection:
section];
[topicstableselectrowatindexpath:ip a
nimated:yesscrollposition:uitableviewscrollpositionnone];
[tableview setseparatorstyle:uitableviewcellselectionstylenone];
//選
中cell響應事件
- (void)tableview:(uitableview *)tableviewdidselectrowatindexpath:(nsindexpath *)indexpath
//判斷選中的行(阻止選中第一行)
-(nsindexpath *)tableview:(uitableview *)tableviewwillselectrowatindexpath:(nsindexpath *)indexpath
//划動cell是否出現del按鈕
- (bool)tableview:(uitableview *)tableviewcaneditrowatindexpath:(nsindexpath *)indexpath
//編輯狀態
- (void)tableview:(uitableview *)tableviewcommiteditingstyle:(
uitableviewcelleditingstyle)editingstyle
forrowatindexpath:(nsindexpath *)indexpath
//返回section標題內容
- (nsstring *)tableview:(uitableview *)tableviewtitleforheaderinsection:(nsinteger)section
//自定義划動時del按鈕內容
- (nsstring *)tableview:(uitableview *)tableview
titlefordeleteconfirmationbuttonforrowatindexpath:(nsindexpath *)indexpath
//跳到指的row or section
[tableviewscrolltorowatindexpath:[nsindexpath indexpathforrow:0 insection:0] atscrollposition:uitableviewscrollpositionbottom animated:no];
三、在uitableviewcell上建立uilable多行顯示
- (uitableviewcell *)tableview:(uitableview *)tableview cellforrowatindexpath:(nsindexpath *)indexpath
uilabel *datalabel = (uilabel *)[cell.contentview viewwithtag:100];
[datalabel setfont:[uifont boldsystemfontofsize:18]];
datalabel.text = [data.dataarray objectatindex:indexpath.row];
cell.accessorytype = uitableviewcellaccessorydisclosureindicator;
return cell;
}//選中cell時的顏色
typedef enum uitableviewcellselectionstyle
//cell右邊按鈕格式
typedef enum uitableviewcellaccessorytype
//是否加換行線
typedef enum uitableviewcellseparatorstyle
//改變換行線顏色
tableview.separatorcolor = [uicolor bluecolor];
ios學習 TableView詳細解釋
建立 uitableview datatable uitableview alloc initwithframe cgrectmake 0,0,320,420 datatable setdelegate self datatable setdatasource self self.view adds...
iOS效能優化 TableView
下面介紹一些我們可以自己設定的新能優化 1 盡量不透明的檢視 不透明檢視可以極大提高渲染的速度.因此如果可以,將 cell 及其子檢視的 opaque 屬性設定為 yes 預設值 cell 的 backgroundcolor 的 apha 值應為1 不要使用 clearcolor 影象的 apha ...
iOS筆記 遍歷Tableview
ios不提倡遍歷全部cell,從拋給開發者的api就可以看出來,就給乙個visiblecells方法,不讓你輕鬆的拿到全部cell,優化記憶體使用的極佳方案。非要遍歷全部cell怎麼辦?只返回可見的cell uitableviewcell cellforrowatindexpath nsindexp...