初步理解UITableView以及MVC(一)

首先我們來(lái)看一下這張系統(tǒng)設(shè)計(jì)圖。

TableView典型例子-截圖

可以大致看出來(lái),每一行都是大致一樣,不一樣的只是圖片的樣式以及圖片旁邊的介紹文字。

每一行的樣式大致相同,只是數(shù)據(jù)不一樣的情況下,豎直方向可以滾動(dòng)的情況下,我們可以使用UITableView來(lái)實(shí)現(xiàn)。

那么我們就來(lái)簡(jiǎn)單的使用一下UITableView。后面的文章會(huì)完善代碼質(zhì)量。

TableView必要代理-截圖

此文章只講一下簡(jiǎn)單的用法。圖片有點(diǎn)小 我就再用文字解說(shuō)一下:

numberOfSectionsInTableView:(UITableView*)tableView

告訴編譯器 這個(gè)tableView有多少組

tableView:(UITableView*)tableView numberOfRowsInSection:(NSInteger)section

告訴編譯器 這個(gè)tableView在section組 中有多少行

tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath

告訴編譯器 “第indexPath.section組”? “第indexPath.row行”的應(yīng)該顯示什么樣

這樣就可以添加我們想要的數(shù)據(jù)了.

MVC 是一種使用 MVC(Model View Controller 模型-視圖-控制器),可以用簡(jiǎn)單的話說(shuō)就是 視圖,業(yè)務(wù)邏輯,數(shù)據(jù)是分開(kāi)的,單獨(dú)改變哪個(gè),都不影響。

數(shù)據(jù)源類(lèi)-截圖
數(shù)據(jù)加載-截圖

我用的方法就是初步了解的懶加載方法,就是聲明了一個(gè)NSArray 里面是tableViewData的數(shù)據(jù)集, 把tableView的數(shù)據(jù)代理相應(yīng)的地方換成對(duì)應(yīng)的groupDatas的值,比如:

數(shù)組代替數(shù)據(jù)-截圖

這樣的話,我們?cè)诟淖償?shù)據(jù)的話,不需要改變我們界面的響應(yīng)代碼,只需要改變數(shù)據(jù)加載的地方,groupDatas的加載。

head以及footer-截圖

以上是 tableView中g(shù)roup的樣式,但是tableVIew的樣式中還有一種樣式為UITableViewStylePlain,這個(gè)樣式,在有footer 尾部描述的時(shí)候是這個(gè)樣子的:

UITableViewStylePlain樣式-截圖

看左上角會(huì)有重疊,去掉狀態(tài)欄的代碼為:

隱藏狀態(tài)欄代碼-截圖

主要UITableViewStylePlain和UITableViewStyleGrouped的樣式的區(qū)別還有一個(gè)細(xì)節(jié),細(xì)節(jié)為數(shù)據(jù)多的時(shí)候,UITableViewStylePlain的head不會(huì)跟UITableViewStyleGrouped的head一樣向上滾動(dòng),只能是下一個(gè)head換掉這個(gè)head,表現(xiàn)為:

UITableViewStylePlainde的head-截圖

從圖中可以看到,小學(xué)生下面的公主妹已經(jīng)向上滾動(dòng),而小學(xué)生沒(méi)有,依然是在頂部,在TableViewStylePlain中的footer也是一樣的,這個(gè)footer的替換也是在下一個(gè)的footer之前會(huì)一直在屏幕中顯示,知道一下個(gè)的footer頂?shù)暨@個(gè)footer,跟head樣式一樣。

還可以根據(jù):

系統(tǒng)的tableView-截圖

可以看到,tableView有兩個(gè)委托方法,一個(gè)是數(shù)據(jù)源的委托,一個(gè)是tableView的委托,那我們看一下,tableView的委托都有什么東西:其中的一部分,

tableView代理部分方法-截圖

截的這個(gè)圖,名字跟意思都很明了,分別是改變每行的高度,head以及footer的高度,還有很多方法,我沒(méi)有截圖,在后面,如果接觸到,有感悟,我會(huì)寫(xiě)上。。

這樣的話,是我對(duì)于MVC思想以及UITableView的基本了解。以后會(huì)有幾片連續(xù)的文章會(huì)對(duì)TabelView的逐漸進(jìn)行了解。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 概述在iOS開(kāi)發(fā)中UITableView可以說(shuō)是使用最廣泛的控件,我們平時(shí)使用的軟件中到處都可以看到它的影子,類(lèi)似...
    liudhkk閱讀 9,297評(píng)論 3 38
  • #pragma mark someValueAboutTableView 1.tableView的樣式:UITab...
    瀟巖閱讀 1,050評(píng)論 0 0
  • 版權(quán)聲明:未經(jīng)本人允許,禁止轉(zhuǎn)載. 1. TableView初始化 1.UITableView有兩種風(fēng)格:UITa...
    蕭雪痕閱讀 2,990評(píng)論 2 10
  • 《雨中的交警》 寶愛(ài) 我知道,有許多事 被你們藏在心底,不動(dòng)聲色 站在大雨之中 眼觀六路,耳聽(tīng)八方 目之所及 只有...
    福星高照_8805閱讀 473評(píng)論 4 7
  • 自從參加寫(xiě)作之后,對(duì)字句的收集,對(duì)精美句子的收藏,開(kāi)始變得用心起來(lái)。如是之前,肯定傻呆呆看完了,只有一句感慨還不錯(cuò)...
    小小小小米77閱讀 630評(píng)論 0 2

友情鏈接更多精彩內(nèi)容