UITableView-------表視圖--繼承UIScrollView并遵守NSCoding協(xié)議
屬性
frame-------------設(shè)置控件的位置和大小
backgroundColor--------設(shè)置控件的顏色
style--------獲取表視圖的樣式
dataSource---------設(shè)置UITableViewDataSource的代理
delegate---------設(shè)置UITableViewDelegate代理
sectionHeaderHeight------設(shè)置組表視圖的頭標(biāo)簽高度
sectionFooterHeight--------設(shè)置級(jí)表視圖的尾標(biāo)簽高度
backgroundView----------設(shè)置背景視圖恩沛,只能寫(xiě)入
editing----------是否允許編輯在扰,默認(rèn)是NO
allowsSelection----------在非編輯下,行是否可以選中雷客,默認(rèn)為YES
allowsSelectionDuringEditing----------控制某一行時(shí)芒珠,是否可以編輯,默認(rèn)為NO
allowsMultipleSelection--------是否可以選擇多行搅裙,默認(rèn)為NO
allowsMutableSelectionDuringEditing----------在選擇多行的情況下皱卓,是否可以編輯,默認(rèn)為NO
sectionIndexMinimumDisplayRowCount-------------顯示某個(gè)組索引列表在右邊當(dāng)行數(shù)達(dá)到這個(gè)值部逮,默認(rèn)是NSInteger的最大值
sectionIndexColor------------選擇某個(gè)部分的某行改變這一行上文本的顏色
sectionIndexTrackingBackgroundColor--------設(shè)置選中某個(gè)部分的背景顏色
separatorStyle----------設(shè)置單元格分隔線的樣式
separatorColor---------設(shè)置選中單元格分隔線的顏色
tableHeaderView---------設(shè)置組表的頭標(biāo)簽視圖
tableFooterView----------設(shè)置組表的尾標(biāo)簽視圖
UITableView類目屬性
section--------獲取當(dāng)前在哪個(gè)組內(nèi)
row------------獲取當(dāng)前單元格是第幾行
方法:
初始化方法:
initWithFrame:-----------設(shè)置表的大小和位置
initWithFrame:style---------設(shè)置表的大小娜汁,位置和樣式(組,單一)
setEditing:----------表格進(jìn)入編輯狀態(tài)兄朋,無(wú)動(dòng)畫(huà)
setEditing: animated:---------表格進(jìn)入編輯狀態(tài)掐禁,有動(dòng)畫(huà)
reloadData---------------刷新整個(gè)表視圖
reloadSectionIndexTitles--------刷新索引欄
numberOfSections-----------獲取當(dāng)前所有的組
numberOfRowsInSection:---------獲取某個(gè)組有多少行
rectForSection:----------獲取某個(gè)組的位置和大小
rectForHeaderInSection:---------獲取某個(gè)組的頭標(biāo)簽的位置和大小
rectForFooterInSection:-----------獲取某個(gè)組的尾標(biāo)簽的位置和大小
rectForRowAtIndex:-----------獲取某一行的位置和大小
indexPathForRowAtPoint-------------點(diǎn)擊某一個(gè)點(diǎn),判斷是在哪一行上的信息颅和。
indexPathForCell:------------獲取單元格的信息
indexPathsForRowsInRect:---------在某個(gè)區(qū)域里會(huì)返回多個(gè)單元格信息
cellForRowAtIndexPath:-------------通過(guò)單元格路徑得到單元格
visibleCells-----------返回所有可見(jiàn)的單元格
indexPathsForVisibleRows--------返回所有可見(jiàn)行的路徑
headerViewForSection:--------設(shè)置頭標(biāo)簽的視圖
footerViewForSection傅事;----------設(shè)置尾標(biāo)簽的視圖
beginUpdates--------只添加或刪除才會(huì)更新行數(shù)
endUpdates---------添加或刪除后會(huì)調(diào)用添加或刪除方法時(shí)才會(huì)更新
insertSections:withRowAnimation:-----------插入一個(gè)或多個(gè)組,并使用動(dòng)畫(huà)
insertRowsIndexPaths:withRowAnimation:-------插入一個(gè)或多個(gè)單元格峡扩,并使用動(dòng)畫(huà)
deleteSections:withRowAnimation:--------刪除一個(gè)或多個(gè)組享完,并使用動(dòng)畫(huà)
deleteRowIndexPaths:withRowAnimation:--------刪除一個(gè)或多個(gè)單元格,并使用動(dòng)畫(huà)
reloadSections:withRowAnimation:---------更新一個(gè)或多個(gè)組有额,并使用動(dòng)畫(huà)
reloadRowIndexPaths:withRowAnimation:-------------更新一個(gè)或多個(gè)單元格般又,并使用動(dòng)畫(huà)
moveSection:toSection:-------------移動(dòng)某個(gè)組到目標(biāo)組位置
moveRowAtIndexPath:toIndexPath:-----------移動(dòng)個(gè)某個(gè)單元格到目標(biāo)單元格位置
indexPathsForSelectedRow----------返回選擇的一個(gè)單元格的路徑
indexPathsForSelectedRows---------返回選擇的所有的單元格的路徑
selectRowAtIndexPath:animation:scrollPosition---------設(shè)置選中某個(gè)區(qū)域內(nèi)的單元格
deselectRowAtIndexPath:animation:----------取消選中的單元格
重用機(jī)制
dequeueReusableCellWithIdentifier:---------獲取重用隊(duì)列里的單元格
UITableViewDataSource代理方法:
方法:
numberOfSectionsInTableView:------------設(shè)置表格的組數(shù)
tableView:numberOfRowInSection:----------設(shè)置每個(gè)組有多少行
tableView:cellForRowAtIndexPath:---------設(shè)置單元格顯示的內(nèi)容
tableView:titleForHeaderInSection:---------設(shè)置組表的頭標(biāo)簽視圖
tableView:titleForFooterInSection:-----------設(shè)置組表的尾標(biāo)簽視圖
tableView:canEditRowAtIndexPath:---------設(shè)置單元格是否可以編輯
tableView:canMoveRowAtIndexPath:--------設(shè)置單元格是否可以移動(dòng)
tableView:sectionIndexTitleForTableView:atIndex:-------設(shè)置指定組的表的頭標(biāo)簽文本
tableView:commitEditingStyle:forRowAtIndexPath:----------編輯單元格(添加,刪除)
tableView:moveRowAtIndexPath:toIndexPath-------單元格移動(dòng)
UITableViewDelegate代理方法:
tableView: willDisplayCell: forRowAtIndexPath:-----------設(shè)置當(dāng)前的單元格
tableView: heightForRowAtIndexPath:-----------設(shè)置每行的高度
tableView:tableView heightForHeaderInSection:-----------設(shè)置組表的頭標(biāo)簽高度
tableView:tableView heightForFooterInSection:-------------設(shè)置組表的尾標(biāo)簽高度
tableView: viewForHeaderInSection:----------自定義組表的頭標(biāo)簽視圖
tableView: viewForFooterInSection: ----------自定義組表的尾標(biāo)簽視圖
tableView: accessoryButtonTappedForRowWithIndexPath:-----------設(shè)置某個(gè)單元格上的右指向按鈕的響應(yīng)方法
tableView: willSelectRowAtIndexPath:-----------獲取將要選擇的單元格的路徑
tableView: didSelectRowAtIndexPath:-----------獲取選中的單元格的響應(yīng)事件
tableView: tableView willDeselectRowAtIndexPath:------------獲取將要未選中的單元格的路徑
tableView: didDeselectRowAtIndexPath:-----------獲取未選中的單元格響應(yīng)事件
執(zhí)行順序如下:
第一輪:
1巍佑、numberOfSectionsInTableView :假如section=2茴迁,此函數(shù)只執(zhí)行一次,假如section=0萤衰,下面函數(shù)不執(zhí)行堕义,默認(rèn)為1
2、heightForHeaderInSection ,執(zhí)行兩次倦卖,此函數(shù)執(zhí)行次數(shù)為section數(shù)目
3洒擦、heightForFooterInSection ,函數(shù)屬性同上怕膛,執(zhí)行兩次
4熟嫩、numberOfRowsInSection ,此方法執(zhí)行一次
5褐捻、heightForHeaderInSection 掸茅,此方法執(zhí)行了兩次,我其實(shí)有點(diǎn)困惑為什么這里還要調(diào)用這個(gè)方法
6柠逞、heightForFooterInSection 昧狮,此方法執(zhí)行兩次,
7板壮、numberOfRowsInSection逗鸣,執(zhí)行一次
8、heightForRowAtIndexPath 绰精,行高撒璧,先執(zhí)行section=0,對(duì)應(yīng)的row次數(shù)
第二輪:
1茬底、numberOfSectionsInTableView 沪悲,一次
2、heightForHeaderInSection 阱表,section次數(shù)
3殿如、heightForFooterInSection ,section次數(shù)
4最爬、numberOfRowsInSection 涉馁,一次
5、heightForHeaderInSection 爱致,執(zhí)行section次數(shù)
6烤送、heightForFooterInSection,執(zhí)行section次數(shù)
7糠悯、numberOfRowsInSection帮坚,執(zhí)行一次
8、heightForRowAtIndexPath互艾,行高试和,先執(zhí)行一次
9、cellForRowAtIndexPath
10纫普、willDisplayCell
然后8阅悍、9、10依次執(zhí)行直到所有的cell被描畫(huà)完畢