【问题标题】:Animate section footer changes in grouped UITableView分组 UITableView 中的部分页脚更改动画
【发布时间】:2012-01-17 16:04:07
【问题描述】:

我知道您可以为表格视图单元格和部分的插入设置动画,但有时我需要将页脚文本更改为具有不同文本的页脚文本或“nil”。我需要在切换 UISwitch 时为其设置动画。

现在我正在使用 [tableView reloadData] 但这很丑陋,并且更改节页脚太突然并且没有任何动画。 Apple 会以某种方式对此进行动画处理,例如,当您打开个人热点时,部分页脚会略有更改,并且此更改是动画的。

我怎样才能达到同样的效果?

【问题讨论】:

    标签: objective-c cocoa-touch ios5


    【解决方案1】:

    假设您已经在-tableView:titleForFooterInSection: 中编写了代码以响应UISwitch 进行调整,您只需将一个空的更新块发送到表视图以使其重新加载动画。

    [self.tableView beginUpdates];
    [self.tableView endUpdates];
    

    【讨论】:

    • 这会重新加载数据源吗?因为由于我要更改页脚,所以必须重新加载数据源,对吧?
    • 好的,这有点工作,但是当我在更改 UISwitch 后将页脚文本设置为 nil 时,页脚高度会正确调整,但文本会保留在那里(NSLog 说它是 nil)并且只有在我消失时才会消失scull 表格视图。
    • 这是一个想法。除了使用-tableView:titleForFooterInSection:,您可能会发现为您的节页脚创建一个带有标签的UIView 并使用-tableView:viewForFooterInSection: 有条件地将其提供给表格视图更为灵活。由于我们直接管理页脚视图(而不是插入标题并让表格视图处理它),它应该正确地从具有标签的视图到可能根本没有页脚的动画。
    • 我最初使用tableView:viewForFooterInSection:,但后来尝试了-tableView:titleForFooterInSection:。我用两种方法都试过了,但没有成功。我刚刚被告知这不会动画,我应该尝试淡出 UILabel 作为一种解决方法。
    猜你喜欢
    • 1970-01-01
    • 2011-02-12
    • 2011-06-08
    • 2010-12-05
    • 1970-01-01
    • 1970-01-01
    • 2017-01-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多