最近閑來無事,總結一下 UITableViewDataSource和 UITableViewDelegate方法 UITableViewDataSource @required - (NSInteger)tableView:(UITableView *)tableView numberOfRowsI ...
最近閑來無事,總結一下 UITableViewDataSource和 UITableViewDelegate方法
UITableViewDataSource
@required
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;//第 section 組一共有多少行
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;// UITableViewCell中每個 cell .(其中indexPath中包括 section(組)和 row(行))
@optional
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView;//一共分為多少section(組)
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section;//第 section 組的頭標題
- (NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section;//第 section 組的尾標題
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath;//某一行是否可以編輯(indexPath中包含 section(組)和 row(行))
- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath;//是否可以移動和排序(indexPath中包含 section(組)和 row(行))
- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView;//右邊索引欄的內容
- (NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index; // 索引點擊事件
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath;//選中的某一行(indexPath中包含 section(組)和 row(行))
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath//某一行的高度(indexPath中包含 section(組)和 row(行))
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section;//第 section 組頭標題的高度
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section;//第 section 組尾標題的高度
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section;//第 section 組頭顯示的視圖
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section;//第 section 組尾顯示視圖
- (NSInteger)tableView:(UITableView *)tableView indentationLevelForRowAtIndexPath:(NSIndexPath *)indexPath;//設置每一行的等級縮進(數字越小,等級越高)
- (void)setEditing:(BOOL)editing animated:(BOOL)animated;//deit 按鈕點擊事件
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath;//提交編輯操作
- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)sourceIndexPath toIndexPath:(NSIndexPath *)destinationIndexPath;//提交移動操作之後
UITableViewDelegate
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath; //將要顯示指定索引處的 cell
- (void)tableView:(UITableView *)tableView willDisplayHeaderView:(UIView *)view forSection:(NSInteger)section; //將要顯示 section 組的表頭視圖
- (void)tableView:(UITableView *)tableView willDisplayFooterView:(UIView *)view forSection:(NSInteger)section; //將要顯示section 組的表尾視圖
- (void)tableView:(UITableView *)tableView didEndDisplayingCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath*)indexPath; //完成顯示指定索引處的cell
- (void)tableView:(UITableView *)tableView didEndDisplayingHeaderView:(UIView *)view forSection:(NSInteger)section; //完成顯示section 組的表頭視圖
- (void)tableView:(UITableView *)tableView didEndDisplayingFooterView:(UIView *)view forSection:(NSInteger)section; //完成顯示section 組的表尾視圖
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath; //cell行高
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section; //section 組的表頭高度
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section; // section 組的表尾高度
- (CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath; //估算行高
- (CGFloat)tableView:(UITableView *)tableView estimatedHeightForHeaderInSection:(NSInteger)section; //估算的表頭高度
- (CGFloat)tableView:(UITableView *)tableView estimatedHeightForFooterInSection:(NSInteger)section; //估算的表尾高度
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section; //section 組的表頭視圖
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section; //section 組的表尾視圖
- (UITableViewCellAccessoryType)tableView:(UITableView *)tableView accessoryTypeForRowWithIndexPath:(NSIndexPath *)indexPath; //cell的附件類型
- (void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath; //cell 的附件按鈕點擊事件
- (BOOL)tableView:(UITableView *)tableView shouldHighlightRowAtIndexPath:(NSIndexPath *)indexPath; //是否將某一個 cell 高亮顯示
- (void)tableView:(UITableView *)tableView didHighlightRowAtIndexPath:(NSIndexPath *)indexPath; //將某個 cell 高亮顯示
- (void)tableView:(UITableView *)tableView didUnhighlightRowAtIndexPath:(NSIndexPath *)indexPath; //取消某個 cell 的高亮顯示
- (NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath; //將要選中某個 cell
- (NSIndexPath *)tableView:(UITableView *)tableView willDeselectRowAtIndexPath:(NSIndexPath *)indexPath; //將要取消選中某個 cell
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath; //已經選中某個 cell
- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath; //已經取消某個選中的 cell
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath; //cell 的編輯樣式
<