【问题标题】:Animating UITableView resize动画 UITableView 调整大小
【发布时间】:2012-04-02 10:38:36
【问题描述】:

我正在使用以下代码为 UITableView 的大小调整设置动画,以便在 UITableView.isEditing 时为带有额外控件的 UIView 让路。

[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 帧),导致在背景动画期间出现黑色闪烁。

有没有办法同时为这两个视图设置动画?

【问题讨论】:

  • 我可以使用两个单独的动画块,并在 UITableView 动画的块上稍有延迟,但这似乎有点小技巧。欢迎任何更好的想法。

标签: ios uitableview uiview core-animation


【解决方案1】:

这个问题是因为控制器是 UITableViewController 的子类。我现在继承 UIViewController 并将 UITableView 添加为子视图,用于添加新视图和调整 UITableView 大小的动画现在可以按预期工作。

【讨论】:

    猜你喜欢
    • 2013-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-24
    • 1970-01-01
    • 1970-01-01
    • 2017-08-22
    相关资源
    最近更新 更多