cocoa:如何实现表动画?

时间:2012-07-22 08:41:47

标签: macos cocoa

我很好奇如何实现以下应用动画:enter image description here

点击Alcides后,应用程序将逐渐显示右侧的新视图,左侧表格宽度将是原始视图的1/2。 enter image description here

如果我想实现它,我该怎么办?我应该使用什么数据结构和动画?

1 个答案:

答案 0 :(得分:2)

大多数自定义动画的答案是考虑你想做什么和做什么。但是真实。

  1. 以动画速度X

  2. 将tableview的宽度剪切为一半
  3. 以动画速度X

  4. 从右侧移动RH细节表

    您需要将场景的ViewController作为这对表的容器。但是tableviews可能有自己的视图控制器,容器管理器应该对其进行强有力的引用。

    ManagerViewController -> UIView -> PeopleTableView -> PeopleTableViewController
                                    -> DetailTableView -> DetailTableViewController
    

    所以在代码中......

    detailTableView.frame = Frame_with_x_aligned_to_RH_edge_of_screen;
    
    [UIView animateWithDuration:X 
        animations:^{
           peopleTableView.frame = Frame_with_half_its_fully_expanded_width;
           detailTableView.frame = Frame_with_x_aligned_to_edge_of_peopleTable;
    } 
        completion:^{ //stuff to do at the end of the animation  
    }];