iphone - SectionHeader 打开/关闭动画

标签 iphone objective-c ios uitableview uiviewanimation

我已经实现了一个带有部分标题的 tableView,当点击时展开单元格。它几乎只是节标题上的一个大按钮,按下它时我会计算需要删除哪些单元格,然后调用:

[tableView beginUpdates];
//delete necessary cells 
[tableView endUpdates];

我的问题在于这个动画。当您打开一个部分然后打开另一个部分或关闭同一部分而无需滚动 tableView 时,它工作正常。但是如果你最终滚动了 table view 然后你打开了另一个,就会发生一件非常奇怪的事情。其中一个节标题滑到屏幕底部,然后又回到原来的位置。对于动画,我只是调用 deleteRowsAtIndexPathsWithAnimation 并使用自动 tableView 动画类型调用相反的插入方法。有人知道为什么会这样吗?

有一个名为 TVAnimationsGestures 的苹果示例代码(如果您只搜索 tableview,它就会出现)与我的程序执行相同的操作。如果您想更深入地了解代码和问题,您应该检查一下。

谢谢,

最佳答案

要检查的一件事是您在 numberOfSectionInTableView 和 numberOfRowsInSection 中返回的值。

我认为当 tableview 必须滚动时它会调用这些方法,因此如果它们返回的内容与 tableView 中的行数不匹配,就会发生奇怪的事情。

因此,请确保在删除行时同时更新部分中返回的行数。

关于iphone - SectionHeader 打开/关闭动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8483137/

相关文章:

iphone - 如何在 iPhone 中实现 Facebook 集成的社交框架?

iphone - iOS 7 中 kSecTrustResultConfirm 的替代方案是什么?

iphone - 如何转储存储在 Objective-C 对象(NSArray 或 NSDictionary)中的数据

ios - 将搜索栏添加到导航栏 Objective-C iOS 9

ios - 向固定点旋转箭头(类似时钟的动画)

iphone - 当 -adjustsFontSizeToFitWidth 设置为 YES 时,如何计算 UILabel 的字体大小?

iphone - 声音类中的委托(delegate)如何导致 Controller 类中按钮图像的更改?

objective-c - Mac OSX/iPhone 上的 C 预处理器, '#' key 的用法?

android - 在用户从网页转到应用程序后跟踪用户

iphone - 将 iOS 应用程序连接到核心数据