在两个 UITableView 之间转换时如何模仿 UINavigation 动画行为

Posted

技术标签:

【中文标题】在两个 UITableView 之间转换时如何模仿 UINavigation 动画行为【英文标题】:How to mimic UINavigation animation behavior when transitioning between two UITableViews 【发布时间】:2011-09-28 22:27:18 【问题描述】:

我有一个 UIViewController,其中包含两个 UITableView 并在两者之间进行交换。我想知道如何实现与 UINavigationController 在这两个 UITableView 之间转换时完全相同的动画行为? (即一个tableView 被另一个tableView 从左到右或从右到左推离屏幕)。

【问题讨论】:

【参考方案1】:
// Set table 2 up offscreen as starting state
CGRect rect = tableView2.frame;
rect.origin.x = rect.size.width;
tableView2.frame = rect;

// fill in any details you need for the animation
[UIView beginAnimation:...

// move 1 left offscreen
rect = tableView1.frame;
rect.origin.x = -rect.size.width;
tableView1.frame = rect;

// bring 2 right onscreen
rect = tableView2.frame;
rect.origin.x = 0;
tableView2.frame = rect;

[UIView commitAnimation];

【讨论】:

【参考方案2】:

你有什么理由不能使用两个 UIViewController:s?

如果没有,您应该能够通过为两个表视图的 bounds 属性设置动画来做到这一点。您可能也可以通过使用分页滚动视图并在页面之间切换来做到这一点。

【讨论】:

我需要这两个视图来换入和换出,因为它们需要适应相同的导航标题。如果我将它们作为单独的视图控制器进行动画处理,即使名称保持不变,导航标题也会进行动画处理,看起来很有趣。

以上是关于在两个 UITableView 之间转换时如何模仿 UINavigation 动画行为的主要内容,如果未能解决你的问题,请参考以下文章

UITextfield 模仿下拉(UITableView?)

如何在 UITableView 的两个部分之间插入 UIImageView?

两个 UItableview 单元格之间的间隙 3 [重复]

使用自定义单元格在两个 UITableView 之间传递数据

UITableViewCell 原型在同一视图控制器中的两个 UITableView 之间重用

如何模仿 iPod 剩余时间和播放时间擦洗标签