当前位置: 首页 > 面试题库 >

iOS 11 UITableView删除行动画错误

太叔鹏云
2023-03-14
问题内容

tableview动画错误的视频

我有一个扩展/折叠其单元格的表格视图。

从iOS
11开始,tableView在插入和删除行时开始表现异常。contentSize在动画块发生之前已更改,因此,在视频中,您可以看到折叠的单元格上发生了错误的滚动回退。动画看起来不对。

这段代码在iOS 10上运行良好。有人知道苹果方面发生了什么变化吗?这是一个已知的问题?

public func insertingRowsForAccordion(_ indexArray: [IndexPath], selectedRowIndex: Int) {
    beginUpdates()
    insertRows(at: indexArray, with: UITableViewRowAnimation.fade)
    endUpdates()

 // Scroll to selection after expanding children
    scrollToRow(at: IndexPath(row: selectedRowIndex, section: 0), at: UITableViewScrollPosition.top, animated: true)
}

public func removeRowsForAccordion(_ indexArray: [IndexPath]) {
    beginUpdates()
    deleteRows(at: indexArray, with: UITableViewRowAnimation.fade)
    endUpdates()
}

问题答案:

我在iOS 11上遇到了无数问题UITableView遍历UITableView整个应用程序中的每一个,并执行以下操作解决了我所有的问题。

estimatedRowHeightestimatedSectionHeaderHeight和设置estimatedSectionFooterHeight为0。



 类似资料:
  • 我已经实现了一个,可以在其中添加和删除项目。我希望添加的项目添加到第二个位置,并且每当我添加新项目时,动画运行良好。也就是说,最后一个项目向下移动,让新项目的空间淡入。 当我删除一个项目时,有一个问题我不知道如何解决。我希望它的行为是: < li >淡出删除的元素, < li >向上移动它下面的所有项目。 实际发生的事情是,首先,最后一项消失,然后动画的其余部分发生。当已删除元素下方的项目向上移动

  • 问题内容: 我正在尝试使用Matplotlib的圆和动画从选定的数据点模拟圆形冲击波的动画。但是我想不出一种方法来删除每个新框架中的旧圆圈。结果,随着半径的增加,我在画布上绘制了越来越多的圆圈- 像这样: 关于在matplotlib图上动画化圆形冲击波有什么建议吗? 到目前为止,我的代码是: 问题答案: 我认为您每次都可以用来更改圆圈大小: 因此,您不必每次都删除和重绘补丁,我认为这样做可能更有效

  • 我正在尝试使用SwipeToDismissUndoList库在< code>ListView中实现滑动删除,该库扩展了Roman Nurik的SwipeToDismiss示例。 我的问题是在删除动画。由于< code>ListView由< code>CursorAdapter支持,因此动画会在< code>onAnimationEnd中触发< code>onDismiss回调,但这意味着在< co

  • 问题内容: 我有一个JTable,我需要删除一行,即选定的行。 所以首先,我得到表模型: 然后是选定的行(如果选择了第二行,则返回1,这是可以理解的,因为行从零开始): 然后,我尝试删除该行: 然后我再次设置表模型: 这实现的是删除完全随机的行。我根本不明白为什么。我已经使用table.setRowSorter(sorter)对表进行了排序,但是我不知道为什么这应该是一个问题。如果绝对需要SSCC

  • 您好,我正在尝试在我的Web服务中运行一个查询,但是一个查询在范围内的函数会从零开始中断。 我的代码: 错误: 获取请求失败请求失败-- 类型异常报告 Message内部服务器错误 描述服务器遇到内部错误,无法满足此请求。 例外 javax.servlet.ServletException:java.lang.NullPointerException 根本原因 JAVAlang.NullPoint

  • DELETE /feeds/:feed/currency Response Status: 204 No Content