• UITableView 相关方法


    最近闲来无事,总结一下 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 的编辑样式

    - (NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath; //cell 上删除按钮的文字

    - (NSArray<UITableViewRowAction *> *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath; //cell 的编辑操作

    - (BOOL)tableView:(UITableView *)tableView shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath; //cell 编辑时是否缩进

    - (void)tableView:(UITableView*)tableView willBeginEditingRowAtIndexPath:(NSIndexPath *)indexPath; //将要编辑 cell

    - (void)tableView:(UITableView*)tableView didEndEditingRowAtIndexPath:(NSIndexPath *)indexPath; //cell 编辑完成

    - (NSIndexPath *)tableView:(UITableView *)tableView targetIndexPathForMoveFromRowAtIndexPath:(NSIndexPath *)sourceIndexPath toProposedIndexPath:(NSIndexPath *)proposedDestinationIndexPath; //cell 移动到特定位置

    - (NSInteger)tableView:(UITableView *)tableView indentationLevelForRowAtIndexPath:(NSIndexPath *)indexPath; //缩进值

    - (BOOL)tableView:(UITableView *)tableView shouldShowMenuForRowAtIndexPath:(NSIndexPath *)indexPath; //是否将要显示指定索引处表格行的菜单

    - (BOOL)tableView:(UITableView *)tableView canPerformAction:(SEL)action forRowAtIndexPath:(NSIndexPath *)indexPath withSender:(id)sender; //是否能使用 sender 对指定索引处列表行进行执行操作

    - (void)tableView:(UITableView *)tableView performAction:(SEL)action forRowAtIndexPath:(NSIndexPath *)indexPath withSender:(nullable id)sender; //通过 sender 对指定索引处的表格行执行操作

    - (BOOL)tableView:(UITableView *)tableView canFocusRowAtIndexPath:(NSIndexPath *)indexPath;//能否获得焦点

    - (BOOL)tableView:(UITableView *)tableView shouldUpdateFocusInContext:(UITableViewFocusUpdateContext *)context;//是否更新焦点

    - (void)tableView:(UITableView *)tableView didUpdateFocusInContext:(UITableViewFocusUpdateContext *)context withAnimationCoordinator:(UIFocusAnimationCoordinator *)coordinator;//已经更新焦点

    - (NSIndexPath *)indexPathForPreferredFocusedViewInTableView:(UITableView *)tableView;//返回焦点的IndexPath

    UITableViewDataSourcePrefetching

    @required

    - (void)tableView:(UITableView *)tableView prefetchRowsAtIndexPaths:(NSArray<NSIndexPath *> *)indexPaths;//将要加载的 cell 的 indexPaths.

    - (void)tableView:(UITableView *)tableView cancelPrefetchingForRowsAtIndexPaths:(NSArray<NSIndexPath *> *)indexPaths;//取消将要加载的 cell 的indexPaths

  • 相关阅读:
    关于TCP/IP,这十个问题你都知道,就入门了!
    Hadoop入门
    mysql实现主从复制
    1.5linux基本操作命令----ls
    1.5Linux下的目录介绍
    1.4 yum源的配置
    1.3 防火墙关闭
    1.2网络配置
    Linux学习---CentOS7.6下载与简介(一)
    解决centos7使用yum install -y gcc gcc-c++报错缺少依赖包的问题
  • 原文地址:https://www.cnblogs.com/xuan-yuan/p/7514717.html
Copyright © 2020-2023  润新知