天天看點

iOS開發UI篇—UITableview控件簡單介紹

一、基本介紹

在衆多移動應⽤用中,能看到各式各樣的表格資料 。

在ios中,要實作表格資料展示,最常用的做法就是使用uitableview,uitableview繼承自uiscrollview,是以支援垂直滾動,⽽且性能極佳 。

uitableview有分組和不分組兩種樣式,可以在storyboard或者是用代碼設定。

iOS開發UI篇—UITableview控件簡單介紹

二、資料展示

uitableview需要⼀一個資料源(datasource)來顯示資料

uitableview會向資料源查詢一共有多少行資料以及每⼀行顯示什麼資料等

沒有設定資料源的uitableview隻是個空殼

凡是遵守uitableviewdatasource協定的oc對象,都可以是uitableview的資料源

展示資料的過程:

(1)調用資料源的下面⽅法得知⼀一共有多少組資料

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

(2)調用資料源的下面⽅法得知每一組有多少行資料

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

(3)調⽤資料源的下⾯⽅法得知每⼀⾏顯示什麼内容

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

三、代碼示例

(1)能基本展示的“垃圾”代碼

iOS開發UI篇—UITableview控件簡單介紹
iOS開發UI篇—UITableview控件簡單介紹

實作效果:

iOS開發UI篇—UITableview控件簡單介紹

(2)讓代碼的資料獨立

建立一個模型

iOS開發UI篇—UITableview控件簡單介紹
iOS開發UI篇—UITableview控件簡單介紹
iOS開發UI篇—UITableview控件簡單介紹
iOS開發UI篇—UITableview控件簡單介紹
iOS開發UI篇—UITableview控件簡單介紹

提示:請自行體會把資料獨立出來單獨處理,作為資料模型的好處。另外,把什麼抽成一個模型,一定要弄清楚。

四、補充點

contentview下預設有3個⼦視圖

第2個是uilabel(通過uitableviewcell的textlabel和detailtextlabel屬性通路)

第3個是uiimageview(通過uitableviewcell的imageview屬性通路)

uitableviewcell還有⼀個uitableviewcellstyle屬性,⽤于決定使用contentview的哪些子視圖,以及這些子視圖在contentview中的位置

iOS開發UI篇—UITableview控件簡單介紹

繼續閱讀