IOS學習 TableView詳細解釋

2021-07-07 02:26:09 字數 4125 閱讀 7831

-、建立

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...