UITableViewCell的使用和屬性

2021-07-09 17:25:13 字數 2540 閱讀 6417

uitableview的每一行都是乙個uitableviewcell,通過datasource的tableview:cellforrowatindexpath:方法來初始化每一行。

uitableviewcell內部有個預設的子檢視:contentview,contentview是uitableviewcell所顯示內容的父檢視,可顯示一些輔助指示檢視。

輔助指示檢視的作用是顯示乙個表示動作的圖示,可以通過設定uitableviewcell的accessorytype來顯示,預設是uitableviewcellaccessorynone(不顯示輔助指示檢視)

設定方法:

cell.accessorytype =uitableviewcellaccessorycheckmark;
其他值如下:

還可以通過cell的accessoryview屬性來自定義輔助指示檢視(比如往右邊放乙個開關)

cell.accessoryview =[[uiswitch alloc] init];
2個是uilabel,和乙個uiimageview

第乙個uilabel的設定方式

cell.textlabel

.text = hero.name

;

第二個uilabel的設定方式

cell.detailtextlabel

.text = hero.intro

;

uiimageview的設定方式

cell.imageview

.image = [uiimage imagenamed:hero.icon];

uitableviewcell還有乙個uitableviewcellstyle屬性,用於決定使用contentview的哪些子檢視,以及這些子檢視在contentview中的位置

uitableviewcellstyle屬性依次為:uitableviewcellstyledefault、uitableviewcellstylesubtitle、uitableviewcellstylevalue1、uitableviewcellstylevalue2 的檢視樣式

設定table行高的兩種方法

第一種:使用uitableview的屬性設定

self.tableview.rowheight = 60; // rowheight的預設高度為44
第二種:使用**的方法設定每行的行高(可以將每行設定不同的行高)

**

* 使用**的方法設定每行的高度(可以將不同的行設定為不同的高度)

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

1.設定cell的背景屬性有backgroundview和backgroundcolor兩種。

兩者是有區別的,如下:

1)backgroundview可以設定背景顏色和背景,backgroundcolor只可以設定背景顏色

2)backgroundview的優先順序大於backgroundcolor,如果同時設定了backgroundview和backgroundcolor屬性,則backgroundview會覆蓋backgroundcolor。

2.設定cell的長按背景(選中背景)的屬性為selectedbackgroundview

注:為backgroundview和selectedbackgroundview屬性設定背景的時候,view不用設定尺寸

// 設定背景色(背景view不用設定尺寸,backgroundview的優先順序》backgroundcolor)

uiview *view = [[uiview alloc] init];

view.backgroundcolor = [uicolor redcolor];

cell.backgroundview = view;

// 設定背景

uiimageview *img = [[uiimageview alloc] initwithimage:[uiimage imagenamed:@"buttondelete"]];

cell.backgroundview = img;

// 設定長按背景(選中背景)的背景色

uiview *view = [[uiview alloc] init];

view.backgroundcolor = [uicolor greencolor];

cell.selectedbackgroundview = view;

計算UITableViewCell高度

uitableview是先執行 cgfloat tableview uitableview tableview heightforrowatindexpath nsindexpath indexpath函式計算整個uitableview內容高度,然後才執行 uitableviewcell table...

UITableViewCell重用問題

在寫sina 微博介面的過程中使用到了cell,那麼就是在cell上新增一些控制項,但是由於每條微博的內容都是不同的,所以在顯示的過程中,出現了內容重疊的問題,其實就是uitableviewcell重用機制的問題。cpp view plain copy uitableviewcell tablevi...

UITableViewCell重用機制

uitableview是ios開發中使用頻率非常高的乙個控制項,它常被用來展示資訊列表,儘管資訊資料可能非常多,但uitableview消耗的資源卻並不會隨著展示資訊的增多而變大,這都要得益於uitableviewcell的重用機制,重用機制 顧名思義,就是反覆利用資源的機制。以下通過一些 來看下通...