iOS UITableView 的 Plain和Grouped樣式的區(qū)別

官方文檔寫的非常經(jīng)典:

Table views can have one of two styles, UITableViewStylePlain and UITableViewStyleGrouped. When you create a UITableView instance you must specify a table style, and this style cannot be changed.

In the plain style, section headers and footers float above the content if the part of a complete section is visible. A table view can have an index that appears as a bar on the right hand side of the table (for example, "A" through "Z"). You can touch a particular label to jump to the target section.

The grouped style of table view provides a default background color and a default background view for all cells. The background view provides a visual grouping for all cells in a particular section. For example, one group could be a person's name and title, another group for phone numbers that the person uses, and another group for email accounts and so on. See the Settings application for examples of grouped tables. Table views in the grouped style cannot have an index.

意思是:
tableView有兩種style秸侣,UITableViewStylePlain和UITableViewStyleGrouped趁矾。當(dāng)你創(chuàng)建一個(gè)UITableView實(shí)例必須指定其的style艘蹋,并且這種style是不能被改變的武福。

Plain style的UITableView

在plain style的tableView中,當(dāng)一個(gè)section的rows有一部分可見時(shí)廊鸥,section的header和footer浮動(dòng)在內(nèi)容頂部呀酸。plain style的tableView可以有一個(gè)section索引响驴,作為一個(gè)bar在table的右邊(例如A ~ Z)秀存。你可以點(diǎn)擊一個(gè)特定的標(biāo)簽捶码,跳轉(zhuǎn)到目標(biāo)section。例如下圖:


Group style的UITableView

在grouped style的tableView中或链,所有單元格擁有一個(gè)默認(rèn)的背景顏色和默認(rèn)背景視圖惫恼。背景視圖為特定section中的所有cell提供可視分組。例如澳盐,一個(gè)group可以是一個(gè)人的名字和標(biāo)題祈纯,另一個(gè)group可以是電話,電子郵件帳戶等〉鸢遥可參考iphone“設(shè)置”程序腕窥。
注意:在grouped style表中不能有一個(gè)(右邊的)索引。如下圖:

Group類型默認(rèn)設(shè)置tableView灰色背景色筛婉,cell為白色背景色簇爆,section外邊緣設(shè)置淺灰色邊框,cell設(shè)置淺灰色間隔線倾贰。如下圖:


區(qū)別總結(jié):

一、UITableViewStylePlain

1.plain類型有多段時(shí)拦惋,段頭停留(自帶效果)
2.plain類型默認(rèn)section之間沒有中間的間距和頭部間距(想讓plain類型的section之間留有空白匆浙,需要在UITableView代理方法中return自定義的header和footer,并在自定義的UITableViewHeaderFooterView里面重寫setFrame方法)

  1. 擴(kuò)展:讓plain類型的UITableView段頭不停留(取消粘性效果)
(void)scrollViewDidScroll:(UIScrollView *)scrollView {
    CGFloat sectionHeaderHeight = 30;
    if (scrollView.contentOffset.y<=sectionHeaderHeight&&scrollView.contentOffset.y>=0) {
        scrollView.contentInset = UIEdgeInsetsMake(-scrollView.contentOffset.y, 0, 0, 0);
    } else if (scrollView.contentOffset.y>=sectionHeaderHeight) {
        scrollView.contentInset = UIEdgeInsetsMake(-sectionHeaderHeight, 0, 0, 0);
    }
}
二厕妖、UITableViewStyleGroup
注意:去掉Group類型的表section頭部和中間間隔的方法:

1.設(shè)置標(biāo)題tableHeaderView的高度為特小值首尼,但不能為零,若為零的話言秸,ios會(huì)取默認(rèn)值18软能,就無法消除頭部間距了。

      UIView *view = [[UIView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 0.001)];
      view.backgroundColor = [UIColor redColor];
      self.tableView.tableHeaderView = view;

2.設(shè)置代理方法(中間的留白其實(shí)是段尾的高度举畸,代理的作用設(shè)置段尾的高度查排,返回值也不能為0,否則系統(tǒng)啟用默認(rèn)值18)

-(CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
      return 0.01f;
}
//特殊的處理方法也能實(shí)現(xiàn)該效果
self.tableView.contentInset = UIEdgeInsetsMake(-44, 0, 0, 0);

3.自定義類繼承UITableViewHeaderFooterView抄沮,重寫setFrame方法跋核,在UITableView代理方法中return 自定義類創(chuàng)建的section的header和footer。

-(void)setFrame:(CGRect)frame{
frame.size.height+=10;
[super setFrame:frame];
}

注意:sectionHeaderHeight/sectionFooterHeight這2個(gè)屬性只在Grouped類型叛买,且未實(shí)現(xiàn)代理方法tableView:heightForHeaderInSection: 時(shí)有效砂代,在plain風(fēng)格下設(shè)置無效。故在使用UITableView過程中盡量使用代理方法設(shè)置sectionHeader和sectionFooter的高度率挣。

注: 部分轉(zhuǎn)載http://www.reibang.com/p/3a5063993368

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末刻伊,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌捶箱,老刑警劉巖智什,帶你破解...
    沈念sama閱讀 206,839評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異讼呢,居然都是意外死亡撩鹿,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門悦屏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來节沦,“玉大人,你說我怎么就攤上這事础爬「幔” “怎么了?”我有些...
    開封第一講書人閱讀 153,116評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵看蚜,是天一觀的道長叫搁。 經(jīng)常有香客問我,道長供炎,這世上最難降的妖魔是什么渴逻? 我笑而不...
    開封第一講書人閱讀 55,371評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮音诫,結(jié)果婚禮上惨奕,老公的妹妹穿的比我還像新娘。我一直安慰自己竭钝,他們只是感情好梨撞,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評(píng)論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著香罐,像睡著了一般卧波。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上庇茫,一...
    開封第一講書人閱讀 49,111評(píng)論 1 285
  • 那天港粱,我揣著相機(jī)與錄音,去河邊找鬼旦签。 笑死啥容,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的顷霹。 我是一名探鬼主播咪惠,決...
    沈念sama閱讀 38,416評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼淋淀!你這毒婦竟也來了遥昧?” 一聲冷哼從身側(cè)響起覆醇,我...
    開封第一講書人閱讀 37,053評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎炭臭,沒想到半個(gè)月后永脓,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,558評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡鞋仍,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評(píng)論 2 325
  • 正文 我和宋清朗相戀三年常摧,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片威创。...
    茶點(diǎn)故事閱讀 38,117評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡落午,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出肚豺,到底是詐尸還是另有隱情溃斋,我是刑警寧澤,帶...
    沈念sama閱讀 33,756評(píng)論 4 324
  • 正文 年R本政府宣布吸申,位于F島的核電站梗劫,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏截碴。R本人自食惡果不足惜梳侨,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望日丹。 院中可真熱鬧走哺,春花似錦、人聲如沸聚凹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽妒牙。三九已至,卻和暖如春对妄,著一層夾襖步出監(jiān)牢的瞬間湘今,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評(píng)論 1 262
  • 我被黑心中介騙來泰國打工剪菱, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留摩瞎,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,578評(píng)論 2 355
  • 正文 我出身青樓孝常,卻偏偏與公主長得像旗们,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子构灸,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 一上渴、簡介 官方給出了比較全面的介紹,要點(diǎn)摘錄如下: table view的作用:導(dǎo)航、展示索引列表稠氮、展示詳情信息曹阔、...
    quantiza閱讀 724評(píng)論 0 1
  • 概述在iOS開發(fā)中UITableView可以說是使用最廣泛的控件,我們平時(shí)使用的軟件中到處都可以看到它的影子隔披,類似...
    liudhkk閱讀 8,993評(píng)論 3 38
  • 那些愛情沒有教你的事 文|顧沁 就算與時(shí)間為敵就算與全世界背離 ----獻(xiàn)給我的摯友 = 1 = 姜冉冉是個(gè)愛笑的...
    顧沁小姐閱讀 294評(píng)論 1 4
  • 工作臺(tái) 一般情況下赃份,我們需要一個(gè)“地方“,在這個(gè)“地方”奢米,我們能一站式項(xiàng)目管理抓韩,問題跟蹤,版本查看恃慧,wiki服務(wù)园蝠,...
    randyjia閱讀 1,028評(píng)論 0 1
  • 一說到人際交往,大多數(shù)的人都會(huì)頭疼痢士。特別是剛開始要去做銷售的彪薛。 我自己有時(shí)候就會(huì)想:真的要經(jīng)營那么多的人際關(guān)系嗎?...
    帶貓行走的羊閱讀 206評(píng)論 0 0