iOS開發 TableView詳細解釋

2022-06-18 18:12:14 字數 3384 閱讀 4221

-、建立 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 *)tableview titleforheaderinsection:(nsinteger)section

//指定有多少個分割槽(section),預設為1

- (nsinteger)numberofsectionsintableview:(uitableview *)tableview

//指定每個分割槽中有多少行,預設為1

- (nsinteger)tableview:(uitableview *)tableview numberofrowsinsection:(nsinteger)section

//繪製cell

-(uitableviewcell *)tableview:(uitableview *)tableview cellforrowatindexpath:(nsindexpath *)indexpath

cell.imageview.image=image;//未選cell時的

cell.imageview.highlightedimage=highlightimage;//選中cell後的

cell.text=//.....

return cell;

}//行縮排

-(nsinteger)tableview:(uitableview *)tableview indentationlevelforrowatindexpath:(nsindexpath *)indexpath

//改變行的高度

- (cgfloat)tableview:(uitableview *)tableview heightforrowatindexpath:(nsindexpath *)indexpath

//定位

[topicstable setcontentoffset:cgpointmake(0, promisenum * 44 + chapter * 20)];

//返回當前所選cell

nsindexpath *ip = [nsindexpath indexpathforrow:row insection:section];

[topicstable selectrowatindexpath:ip animated:yes scrollposition:uitableviewscrollpositionnone];

[tableview setseparatorstyle:uitableviewcellselectionstylenone];

//選中cell響應事件

- (void)tableview:(uitableview *)tableview didselectrowatindexpath:(nsindexpath *)indexpath

//判斷選中的行(阻止選中第一行)

-(nsindexpath *)tableview:(uitableview *)tableview willselectrowatindexpath:(nsindexpath *)indexpath

//划動cell是否出現del按鈕

- (bool)tableview:(uitableview *)tableview caneditrowatindexpath:(nsindexpath *)indexpath

//編輯狀態

- (void)tableview:(uitableview *)tableview commiteditingstyle:(uitableviewcelleditingstyle)editingstyle

forrowatindexpath:(nsindexpath *)indexpath

//返回section標題內容

- (nsstring *)tableview:(uitableview *)tableview titleforheaderinsection:(nsinteger)section

//自定義划動時del按鈕內容

- (nsstring *)tableview:(uitableview *)tableview

titlefordeleteconfirmationbuttonforrowatindexpath:(nsindexpath *)indexpath

//跳到指的row or section

[tableview scrolltorowatindexpath:[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單選

場景 乙個彈出層,包含乙個tableview,每一行為乙個選擇條件,且只能選擇乙個。選中後文體有顏色變化,後面還會有對勾。選擇另乙個後,前乙個恢復成普通狀態。示例 void tableview uitableview tableview didselectrowatindexpath nsindex...

IOS開發之TableView詳細解釋

建立 uitableview datatable uitableview alloc initwithframe cgrectmake 0,0,320,420 datatable setdelegate self datatable setdatasource self self.view adds...

iOS開發 tableview的head拉伸

是.m檔案可直接使用,親們只需要把test給了就好了 如果想要更明顯的效果,你們可以把 tableview的 第一區section 1 賦值,給幾個cell 這 可實用於各個專案的個人資訊板塊 import viewcontroller.h static int imagewidth 0 stati...