动画UITableView调整大小
问题描述:
Im使用下面的代码来动画调整UITableView
的大小,以便为具有额外控件的UIView
在UITableView.isEditing时让路。动画UITableView调整大小
[UIView animateWithDuration:3 // 0.2 but slowed down to easily see difference
delay:0
options:UIViewAnimationOptionCurveEaseOut
animations:^{
[self.selectControlsView setFrame:CGRectMake(0, self.tableView.frame.size.height-self.selectControlsView.frame.size.height, self.selectControlsView.frame.size.width, self.selectControlsView.frame.size.height)];
[self.tableView setFrame:CGRectMake(0, 0, self.tableView.frame.size.width, self.tableView.frame.size.height-self.selectControlsView.frame.size.height)];
}
completion:nil];
这工作得很好,除了它似乎UITableView
动画比UIView
得快一些(尽管我调整UITableViews
帧之前的UIViews帧),从背景动画中引起黑色闪烁。
有没有办法让两个视图一前一后动画?
答
问题是由于控制器是UITableViewController的子类造成的。我现在继承UIViewController并将UITableView添加为子视图,添加新视图和调整UITableView的动画现在按预期工作。
我可以使用两个独立的动画块,并在UITableView动画的块上稍稍延迟一点,但这看起来有点像黑客。欢迎任何更好的想法。 – steharro 2012-04-02 12:04:40