UITableView使用指南1(嘔心原創(chuàng))

一挫酿、概述

UITableView是iOS開發(fā)比不可少也是最重要的一個(gè)控件類斜筐。可以說任何一個(gè)做iOS開發(fā)的人都必須熟練使用和掌握它必指。本文主要就是提供一個(gè)學(xué)習(xí)使用TableView的指南括饶。

要說UITableView必須要介紹他的幾個(gè)親戚:UITableViewDelegate株茶,UITableViewDataSource,UITableViewCell图焰。其中前兩個(gè)是TableView遵守的兩個(gè)protocol(別告訴我你不知道啥叫protocol哦)启盛。然后本文會(huì)再列出TableView最常用最重要的一些知識(shí)點(diǎn)。最后再介紹幾個(gè)參考例子技羔。

二僵闯、UITableView和它的親戚們

1. UITableView

參考:

https://developer.apple.com/library/ios/#documentation/UIKit/Reference/UITableView_Class/Reference/Reference.html

1) 初始化 UITableView對(duì)象

– initWithFrame:style:? // 代碼生成方式,如果你在nib里加的tableview不需要使用這個(gè)方法

2)配置TableView

– dequeueReusableCellWithIdentifier: // 必須要實(shí)現(xiàn)的方法藤滥,與TableView同生同死

style? property // 有兩種 UITableViewStylePlain, UITableViewStyleGrouped鳖粟,經(jīng)常用

– numberOfRowsInSection:? //一個(gè)section有多少行,經(jīng)常用

– numberOfSections? //一個(gè)TableView有多少個(gè)section拙绊,經(jīng)常用

rowHeight? property // 行高向图,和tableView:heightForRowAtIndexPath:有性能上的區(qū)別

separatorStyle? property // cell之間的分割線?待確認(rèn)

separatorColor? property // 同上

backgroundView? property // tableview的背景view, 這個(gè)背景view在所有cell, header views, footer views之后

tableHeaderView? property // tableview上方的一個(gè)headerView, 和delete里的section header不是一個(gè)概念

tableFooterView? property // tableview下方的一個(gè)footerview

sectionHeaderHeight? property // section Header的高度时呀,

sectionFooterHeight? property // sectjion Footer的高度

sectionIndexMinimumDisplayRowCount? property //? 功能待確認(rèn)张漂? 參考例子:? TheElements

3) 訪問Cells和Sections

– cellForRowAtIndexPath: //根據(jù)IndexPath返回cell

– indexPathForCell: //根據(jù)cell返回它的indexPath,和上面的方法互補(bǔ)

– indexPathForRowAtPoint://根據(jù)一個(gè)幾何點(diǎn)返回indexPath,如果超過邊界返回nil

– indexPathsForRowsInRect: //根據(jù)一個(gè)幾何的矩形返回矩形所覆蓋的行,返回是一個(gè)indexPath數(shù)組

– visibleCells // 不清楚怎么用,待確認(rèn)

– indexPathsForVisibleRows //同上

4) 滾動(dòng)TableView

– scrollToRowAtIndexPath:atScrollPosition:animated: // 滾動(dòng)到指定位置

– scrollToNearestSelectedRowAtScrollPosition:animated: // 同上

5) 管理sections

– indexPathForSelectedRow //返回選定行的indexPath,單行

– indexPathsForSelectedRows //返回選定行的indexPath數(shù)組谨娜,多行

– selectRowAtIndexPath:animated:scrollPosition: //根據(jù)indexPath選擇一行

– deselectRowAtIndexPath:animated: //反選一行,有何用磺陡?

allowsSelection? property //是否允許用戶選取一行

allowsMultipleSelection? property // 是否選取多行趴梢,缺省為NO. 可以試試YES后的效果漠畜,哈哈

allowsSelectionDuringEditing? property // 編輯模式時(shí)是否可選取一行

allowsMultipleSelectionDuringEditing? property // 編輯模式時(shí)可否選取多行

6) 插入、刪除坞靶、移動(dòng)行和sections

– beginUpdates // 和endUpdates一起用憔狞,讓插入、刪除彰阴、選擇操作同時(shí)動(dòng)畫瘾敢,沒用過

– endUpdates //

– insertRowsAtIndexPaths:withRowAnimation: //根據(jù)indexPath數(shù)組插入行

– deleteRowsAtIndexPaths:withRowAnimation: //根據(jù)indexPath數(shù)組刪除行

– moveRowAtIndexPath:toIndexPath: //移動(dòng)一行到另一行

– insertSections:withRowAnimation: //插入sections

– deleteSections:withRowAnimation: //刪除sections

– moveSection:toSection: //移動(dòng)section

7) 管理和編輯cell

editing? property // YES進(jìn)入編輯模式,tableview cell會(huì)出現(xiàn)插入尿这、刪除簇抵、重排序的控件

– setEditing:animated: //設(shè)置進(jìn)入退出編輯模式

8) 重新加載TableView

– reloadData // 重建整個(gè)表,包括cells射众、header碟摆、footer,indexs

– reloadRowsAtIndexPaths:withRowAnimation: // 改進(jìn)叨橱,不用reload整個(gè)表

– reloadSections:withRowAnimation: // 同上

– reloadSectionIndexTitles // 同上

9) 訪問TableView的畫圖區(qū)

– rectForSection: // 返回指定section的矩形

– rectForRowAtIndexPath: //返回indexPath指定行的矩形

– rectForFooterInSection: // 返回section的footer矩形

– rectForHeaderInSection: // 返回section的header矩形

10) Registering Nib Objects for Cell Reuse

– registerNib:forCellReuseIdentifier: //

11) 管理委托和數(shù)據(jù)源 (重要)

dataSource? property // 通常會(huì)這么用: myTableView.delegate = self; self 為viewController

delegate? property // 通常會(huì)這么用:???? myTableView.dataSource = self; self 為viewController

原文地址:http://blog.csdn.net/y041039/article/details/7351982

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末典蜕,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子罗洗,更是在濱河造成了極大的恐慌愉舔,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,222評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件伙菜,死亡現(xiàn)場(chǎng)離奇詭異屑宠,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)仇让,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,455評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門典奉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人丧叽,你說我怎么就攤上這事卫玖。” “怎么了踊淳?”我有些...
    開封第一講書人閱讀 157,720評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵假瞬,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我迂尝,道長(zhǎng)脱茉,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,568評(píng)論 1 284
  • 正文 為了忘掉前任垄开,我火速辦了婚禮琴许,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘溉躲。我一直安慰自己榜田,他們只是感情好益兄,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,696評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著箭券,像睡著了一般净捅。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上辩块,一...
    開封第一講書人閱讀 49,879評(píng)論 1 290
  • 那天蛔六,我揣著相機(jī)與錄音,去河邊找鬼废亭。 笑死国章,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的滔以。 我是一名探鬼主播捉腥,決...
    沈念sama閱讀 39,028評(píng)論 3 409
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼你画!你這毒婦竟也來了抵碟?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,773評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤坏匪,失蹤者是張志新(化名)和其女友劉穎拟逮,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體适滓,經(jīng)...
    沈念sama閱讀 44,220評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡敦迄,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,550評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了凭迹。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片罚屋。...
    茶點(diǎn)故事閱讀 38,697評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖嗅绸,靈堂內(nèi)的尸體忽然破棺而出脾猛,到底是詐尸還是另有隱情,我是刑警寧澤鱼鸠,帶...
    沈念sama閱讀 34,360評(píng)論 4 332
  • 正文 年R本政府宣布猛拴,位于F島的核電站,受9級(jí)特大地震影響蚀狰,放射性物質(zhì)發(fā)生泄漏愉昆。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,002評(píng)論 3 315
  • 文/蒙蒙 一麻蹋、第九天 我趴在偏房一處隱蔽的房頂上張望跛溉。 院中可真熱鬧,春花似錦、人聲如沸倒谷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,782評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽渤愁。三九已至,卻和暖如春深夯,著一層夾襖步出監(jiān)牢的瞬間抖格,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,010評(píng)論 1 266
  • 我被黑心中介騙來泰國(guó)打工咕晋, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留雹拄,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,433評(píng)論 2 360
  • 正文 我出身青樓掌呜,卻偏偏與公主長(zhǎng)得像滓玖,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子质蕉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,587評(píng)論 2 350

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