tableHeaderView
我找到了在s!上实现真实动画的明确且正确的方法!
• 首先,如果您在 中Autolayout
,请将Margin
系统保留在标题视图中。有了 Xcode 8,它现在成为可能(终于!),只是不要对任何标题子视图设置任何约束。您必须设置正确的边距。
• 然后使用beginUpdates
and endUpdates
,但放入endUpdate
动画块中。
// [self.tableView setTableHeaderView:headerView]; // not needed if already there
[self.tableView beginUpdates];
CGRect headerFrame = self.tableView.tableHeaderView.bounds;
headerFrame.size.height = PLAccountHeaderErrorHeight;
[UIView animateWithDuration:0.2 animations:^{
self.tableView.tableHeaderView.bounds = headerFrame;
[self.tableView endUpdates];
}];
注意:我只在 iOS10 中尝试过,我会在下载 iOS9 模拟器时发布更新。
编辑
不幸的是,它在 iOS9 和 iOS10 中都不起作用:标题本身不会改变它的高度,但是标题子视图似乎会移动,就好像标题边界发生了变化一样。