如何在不停止单元格选择动画的情况下重新加载 UITableView

2024-01-12

当用户点击某个单元格时,我想更新我的UITableView;包括这个被点击的单元格的内容。最简单的方法是更新内部参数然后调用[self.tableView reloadData];.

然而,reloadData立即停止我点击的单元格的漂亮的蓝色->无选择动画。

有没有一种(标准)方法可以更新我的表格单元格而不停止点击单元格的动画?

请注意,在这种情况下,我不会添加或删除单元格;我只想更改内容(例如启动活动指示器,或更改标签的颜色。)


在您的情况下,您只需获取指向所有可见单元格的指针并更新它们。像这样的事情:

- (void)tableView:(UITableView*)tableView didSelectRowAtIndexPath:(NSIndexPath*)indexPath
{
    NSArray* visibleCells = [tableView indexPathsForVisibleRows];

    for (NSIndexPath* indexPath in visibleCells)
    {
        UITableViewCell* cell = [self.tableView cellForRowAtIndexPath:indexPath];

        [self updateCell:cell atIndexPath:indexPath]; // Your method, which updates content...
    }
}

如果您想更新其他单元格内容,您可以使用如下内容:

- (void)tableView:(UITableView*)tableView willDisplayCell:(UITableViewCell*)cell forRowAtIndexPath:(NSIndexPath*)indexPath
{
    [self updateCell:cell atIndexPath:indexPath]; // Your method, which updates content...
}

所以你的单元格将始终显示正确的内容。

关于创建内容:

- (UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString* CellIdentifier = @"Cell";
    UITableViewCell* cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if (cell == nil)
    {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];

        [self createContentForCell:cell atIndexPath:indexPath]; // so here to create content or customize cell
    }

    return cell;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在不停止单元格选择动画的情况下重新加载 UITableView 的相关文章

随机推荐

  • 如何在 Spark 中以小块形式迭代大型 Cassandra 表

    在我的测试环境中 我有 1 个 Cassandra 节点和 3 个 Spark 节点 我想迭代大约有 200k 行的明显大表 每行大约占用 20 50KB CREATE TABLE foo uid timeuuid events blob
  • 如何将 MIDAS.DLL 嵌入客户端可执行文件中

    据博士说 鲍勃 这是可以做到的 有人可以提供分步示例或教程吗 你没有嵌入MIDAS DLL 你添加MidasLib到你的项目的USES条款 这会将基本功能嵌入到您的程序中 而无需依赖单独的 DLL
  • 服务器控制行为异常

    我有一个我编写的服务器控件 通常工作正常 但是 当我添加突出显示的行时 它添加的不是一个而是两个 br 元素 这不是我所追求的 mounting new DropDownLabel mounting ID mountTypeList mou
  • 是否可以在 Adob​​e Flex 中执行#define?

    我正在寻找一种方法来执行类似于 adobe flex 中的 c c define 的操作 我希望项目构建可以采用许多不同的路径 具体取决于是否定义了某些内容 Flex 中存在这样的东西吗 我知道有一些方法可以设置全局变量 但这并不真正适合我
  • 反序列化Bson文件

    我有一个用 mongodump 工具生成的 Bson 文件 我想在 C 代码中反序列化 为此 我似乎可以使用 mongodb C 驱动程序或 Json net 库 我尝试了它们 但我无法让它们工作 使用 Json net 库 input 是
  • MySQL Sum() 多列

    我有一张学生记分卡表 这是桌子 subject mark1 mark2 mark3 markn stud1 99 87 92 46 stud2 studn 现在 我需要对每个学生的总分进行求和 我通过使用得到它sum mark1 mark2
  • MySQL 数据透视表列数据作为行

    我正在努力寻找解决这个 MySQL 问题的方法 我似乎不知道该怎么做 我有以下表格 Question table id question 1 Is it this 2 Or this 3 Or that Results Table id u
  • android 使用外部 java 库时出现 java lang verifyerror

    我在我的 android 项目中使用外部库 在调用导入该库的类时出现 javalang verify 错误 它是 java jxl 库 请提供帮助我在库项目中创建了一个名为 lib 的目录 然后在库中引用它 这个库与原始的 Android
  • .NET 中的全局变量(或替代方案)最佳实践

    在 VB NET WinForms 应用程序中存储全局变量的最佳实践是什么 例如 当用户登录应用程序时 您可能希望存储一个可以在整个应用程序中访问的 CurrentUser 对象 您可以将其存储为模块中的对象 或者创建一个包含所有所需全局变
  • 如何使用 Javascript 滚动到底部时附加更多行

    It s in 共享点2010年 但我认为它可能会正常运行 1 默认情况下 每页的项目限制为 30 因此 我已经完成了在页面加载时显示 30 行的列表 然后我将鼠标向下滚动到底部 它隐藏了最后 10 行 Summary 页面加载 30 行
  • ToList 方法不适用于 TrackableCollection

    我们正在 EF 4 0 之上与可跟踪实体合作 为了删除实体及其所有依赖实体 我正在编写一个通用的DeleteDependentEntities 以便从EntityManager 中的Delete 方法调用 我们不 或者不想 依赖于在数据库中
  • 从数据库字段中删除特殊字符

    我有一个包含数千条记录的数据库 我需要删除其中一个字段以确保它只包含某些字符 字母数字 空格和单引号 我可以使用什么 SQL 从整个数据库的该字段中删除任何其他字符 例如斜杠等 update mytable set FieldName RE
  • Angular 7 - 我是否创建了太多订阅?

    我想知道我的代码是否会造成内存泄漏 Context 我有一个应该显示 应用程序 对象的组件类 它具有过滤和分页功能 我创建了一个方法加载应用程序数据 其中我订阅到 向 Web 服务发出请求后返回的 Observable 该方法在初始化时被调
  • 如何配置 spring-kafka 忽略格式错误的消息?

    我们的 Kafka 主题之一存在问题 该主题被DefaultKafkaConsumerFactory ConcurrentMessageListenerContainer组合描述here http docs spring io spring
  • 如何在 Firebase Cloud Storage 上创建存储桶

    我是一名 python 开发人员 我们使用 GCS Google 云存储 来存储过去几个月的图像 这很好 但对于 Android 来说 它需要将所有存储桶导入 Firebase Cloud Storage FCS 才能访问它 我们不需要任何
  • MySQL 中的字段递增是原子操作吗?

    我正在制作一个网站 我想在标准 MyISAM 表中增加一个计数器 简化示例 UPDATE votes SET num num 1 如果多个连接执行相同的查询 这会导致问题吗 或者 MySQL 会处理它并锁定表或其他措施以确保不存在冲突吗 写
  • Android ListView 项目在滚动时重叠

    我已经实施了一个ListView在我的应用程序中使用自定义实现CursorAdapter 我的问题是 每当我快速滚动到列表底部 启动应用程序后 有时我会发现所有绘制的 ListView 项目都相互重叠 如果我向后滚动或触摸其中一项 它们就会
  • 为什么我的数组无法正确打印? [复制]

    这个问题在这里已经有答案了 我正在尝试使用下面的代码编写一个简单的程序来创建一个一维数组 然后您可以使用索引号调用一个值 我在用java questions tagged java and eclipse questions tagged
  • 如何计算带有集合的列表中项目的出现次数?

    假设我有一个List
  • 如何在不停止单元格选择动画的情况下重新加载 UITableView

    当用户点击某个单元格时 我想更新我的UITableView 包括这个被点击的单元格的内容 最简单的方法是更新内部参数然后调用 self tableView reloadData 然而 reloadData立即停止我点击的单元格的漂亮的蓝色