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的重用機制,重用機制 顧名思義,就是反覆利用資源的機制。以下通過一些 來看下通...