- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在尝试使用 insertRowsAtIndexPaths 一步将一堆行插入到一个空的 UITableView 中。 (我知道这听起来没什么用,但它是我真正需要做的事情的简化版本。)
我看到的问题是,在调用 insertRowsAtIndexPaths 之后,我会为插入的每一行调用 cellForRowAtIndexPath,而不仅仅是那些可见的行。
这似乎不对。如果这样做,对我来说几乎毫无用处。
我看到的唯一有点奇怪的其他工件是,当我这样做时,它实际上似乎使行动画到位。这不是 withRowAnimation,因为它被设置为无。但似乎这里有某种更高层次的动画概念。我的想法是,当它为行设置动画时,它认为它需要更多/所有行的单元格,直到它们被推离屏幕。但是,如果不使用我希望避免的 reloadData,我就无法关闭此动画。
通常我有一个在幕后发生变化的数据集。我可以仔细检查并构建更改以生成用于插入/删除/重新加载调用的数据。但我不能将其限制为屏幕上显示的内容,因为它与数据提供者不匹配。
我想我一定遗漏了一些东西……有什么想法吗?
(我在 beginUpdates/endUpdates 对中执行此操作,但这似乎没有什么区别。)
最佳答案
我今天与一些 Apple 员工进行了交谈。这个问题肯定与插入新行时 UITableView 的动画有关。这是恰好为单元格创建新行的动画,与通过 insertRowsAtIndexPaths 引入这些行时使用的动画分开。
由于表格级动画通过一种“向下增长”的方式创建新行,在插入动画期间,少量许多单元格被认为是可见的,表格将为它们调用 cellForRowAtIndexPath。
似乎没有适用于所有情况的替代实现。对于我的案例,推荐的解决方案是“撒谎”:找出动画后页面上将存在哪些单元格并插入这些单元格。动画完成后,插入剩余的不会显示的单元格,表格也不会调用 cellForRowAtIndexPath。
这需要在 TableView 和“真实”数据源之间实现一个对象,该对象可以在动画持续期间向 TableView “谎报”表中的行数。很痛苦,但这显然是在类似情况下所做的。
关于iphone - insertRowsAtIndexPaths 为每一行调用 cellForRowAtIndexPath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6077885/
我使用以下方法在表中添加新行: [tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:newIndexPath] withRowAnim
我面临这个错误: Assertion failure in -[UITableView _endCellAnimationsWithContext:] 当我尝试使用 insertRowsAtIndex
我有一个包含 uitableview 的导航 Controller ,当我按下一行时,它会在堆栈上弹出一个新的 View Controller ,该 Controller 用于在详细 View 中显示
我正在尝试在用户滚动时将行动态添加到 TableView 的底部。这个想法是用户不会注意到这一点,并且可以“无限”地滚动。 当用户到达表格底部的 40 个单元格时,我想在底部绘制 100 个新单元格。
我浏览了所有在线示例,但无法弄清楚如何正确地将单元格添加到带有动画的 TableView 中。假设我有一个包含一个单元格的部分,我想在用户点击第一个单元格的附件后添加另一个单元格。 我的“添加”方法是
我的应用程序运行良好,我没有将其修改为具有专用的数据 Controller 类,而不是像在初始测试期间那样在主 UI 类中处理数据。然而,自从更改以来,当向 TableView 添加新项目时,它不断崩
* 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“尝试将第 0 行插入第 0 部分,但更新后第 0 部分中只有 0 行” 我意识到这里的问
搜索了又搜索..找不到答案:| 我很确定我正确使用了 insertRowsAtIndexPaths...这是我的代码,以及我收到的错误... 首先,我收到服务器返回的响应,其中包含我想要动态插入到静态
我正在尝试为我的表格 View 实现 insertRowsAtIndexPaths。 在此实现之前,我曾经在用户点击表末尾后调用[self.tableView reloadData]。这种方法有点影响
我在使用 Core Data 时遇到了问题。应用程序崩溃,因为当我插入一个新元素时,我尝试访问一个不存在但它应该存在的单元格。 重要的代码: func controllerWillChangeCont
我有一个 uitableview,我尝试通过 insertRowsAtIndexPaths 函数附加它。如果我只是将数据添加到数据源数组,uitableview 会很好地追加,但让我很难通过上述函数插
我需要在所选行下添加一个新行。我在 didSelectRowAtIndexPath 中使用此代码: [_dataSource insertObject:newDataObject atIndex:in
我正在尝试使用 insertRowsAtIndexPaths 一步将一堆行插入到一个空的 UITableView 中。 (我知道这听起来没什么用,但它是我真正需要做的事情的简化版本。) 我看到的问题是
我有一个UITableView,用户可以在其中插入新行。发生这种情况时,我想重新加载表中的所有旧行。一种解决方案是在插入发生后立即调用 reloadData,这完全有效,但这意味着我看不到插入动画。
我有一个从获取的结果 Controller 填充的表格 View 。我还使用 NSTimer 每分钟进行一次 API 调用,从而引入要显示的任何新数据。这使用带有新托管对象上下文的 GCD 异步发生,
它不会每次都发生,但会随机 insertRowsAtIndexPaths: 使我的应用程序在 tableviews endUpdates 上崩溃。这是代码。 NSURLRequest *request
我正在使用 insertRowsAtIndexPaths 方法向 UITableView 添加行。我将此代码放在 [myTable beginUpdates]; 和 [myTable endUpdat
在表更新之前,我的表数据源只有一个部分,一行: 第 0 节 第 [0,0] 行 更新后数据源返回另外两个部分,每个部分只有一行: 第 0 节 第 [0,0] 行 第 1 节 第 [1,0] 行 第 2
我目前正在使用以下代码在我的 UITableView 中插入单元格: [rottenTableView insertRowsAtIndexPaths:indexPathsToInsert withRo
我正在使用 insertRowsAtIndexPaths 方法将新行添加到我的 UITableView。存在添加重复行的问题。 例如,如果我键入 "HI",然后触摸回车,则会向表格中添加包含文本 "H
我是一名优秀的程序员,十分优秀!