我正在尝试为UITableView部分页脚设置动画。 我尝试了以下代码:
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {
CustomView *footer = [[CustomView alloc]initWithFrame:CGRectZero
labelText:@"I am a label in a footer"];
footer.label.alpha = 0.0f;
[UIView animateWithDuration:5.0f
delay:0.0f
options:UIViewAnimationOptionCurveLinear
animations:^{
footer.label.alpha = 1.0f;
}
completion:nil];
return footer;
}
但页脚显示没有动画。为UITableView部分页脚设置动画的正确方法是什么?我相信这是可能的,但无法找到答案。
答案 0 :(得分:2)
尝试使用tableView:willDisplayFooterView:forSection:
方法进行动画制作。在您正在使用的方法中,视图尚未插入到视图层次结构中(因此不会在窗口中),因此动画确实无法执行任何操作(并且可能会通过将其插入到视图中来取消它们)。 -willDisplay *变体实际上是应该配置可见UI属性的位置,因为它应该在该点的视图层次结构中,并且应该设置UIAppearance值之类的内容,以便稍后不会覆盖您的设置。
您通常可以在cellForRowAtIndexPath:方法(或本例中为viewForFooter)中配置属性,但并非总是如此 - 绝对是动画。