我很好奇如何实现以下应用动画:
单击Alcides后,应用程序将逐渐在右侧显示一个新视图,左侧表格宽度将是原来的1/2。
如果我想实现它,我该怎么做?我应该使用什么数据结构和动画?
大多数自定义动画的答案是考虑你想做什么并去做。陈词滥调但真实。
以动画速度 X 将 tableview 的宽度减半
以动画速度 X 从右侧移动 RH 详细信息表
您需要将场景的 ViewController 作为这对表的容器。但是表视图可能有自己的视图控制器,容器管理器应该保持强引用。
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
}];