iOS UI筆記 TableView 03 例子

2021-09-01 21:44:44 字數 1792 閱讀 9176

part1 —— 設定行樣式

1、設定uitableviewcell的四種樣式 uitableviewcellstyle|subtitle | value1 | value2

2、新增輔助圖示,實現**方法

3、完成乙個分組的表檢視

4、設定單元格的背景顏色和選中顏色

part2 —— 單元格高度自適應 +  表檢視的單選

步驟:1、新建root05viewcontroller,繼承uiviewcontroller, 實現uitableviewdatasource和uitableviewdelegate協議, 新增_tableview (uitableview) 和 _dataarray (nsarray)兩個屬性,override協議uitableviewdatasource的三個基本方法,覆蓋loadview和 dealloc兩個方法。

@inte***ce root05viewcontroller : uiviewcontroller

@end

- (void)loadview

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

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

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

cell.textlabel.text = _dataarray[indexpath.row];

cell.textlabel.numberoflines = 0;/*numberofline=0表示可以多行,預設是1行*/

cell.textlabel.font = [uifont systemfontofsize:15];/**這裡字型大小最好設定成和heightforrowatindexpath中一樣的大小**/

return cell;

}- (nsinteger)numberofsectionsintableview:(uitableview *)tableview

- (void)dealloc

步驟2:給root05增加_selectedindex(int) 屬性,在loadview方法中將其置為-1;

在(uitableviewcell

*)tableview:(

uitableview

*)tableview cellforrowatindexpath:(

nsindexpath

*)indexpath

方法中增加單選的邏輯判斷

/*增加單選的標籤*/

if(_selectedindex == indexpath.row)else

return cell;

實現協議的didselectrowatindexpath方法

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

part4 —— 建立索引表檢視

autolayout 計算tableView的高度

在ios7以後,出現了自動計算高度的方法。systemlayoutsizefittingsize。但是這個得到的是contentview的高度,所以cell的高度還要再 1.在計算出高度之後,可以儲存在陣列中,或者在這個cell中有關cgfloat屬性,來儲存當前的cell的model所佔cell的...

iOS UI篇 學習筆記 UILabel

uilabel label uilabel alloc init label.frame cgrectmake 20,100,280,10 通常為了避免frame的遺漏,這樣例項化 uilabel label uilabel alloc initwithframe cgrectmake 20,100...

IOS UI控制項 label

ui uesr inte ce 使用者介面 ui設計是指對軟體的人機互動 操作邏輯 介面美化的完整設計。ui處於ios四層結構的最上層 cocoa touch 並且放置於uikit框架下。uilabel 1.基本屬性 void dealloc 建立乙個label方法 void createlabel...