0

我正在开发一个使用 UITabBarController 的应用程序,其中每个选项卡都包含一个 UINavigationController 堆栈。

我正在尝试创建一个 UIDynamicAnimator,它将使用 UIDynamicBehaviors 从顶部为 UINavigationBar 下方的 UIView 设置动画,使其与 UITabBarController 的 UITabBar 发生碰撞并将其推离屏幕。

为了实现这一点,我的 UIDynamicAnimator 参考视图必须包含 UITabBarController 的视图。

可以使用 UIWindow 实例作为 UIDynamicAnimator 的参考视图吗?

(也请提供有关此方法的反馈,我看到其他人修改了 UITabBarController.tabBar 的框架 - 这是不好的做法吗?)

4

1 回答 1

2

任何视图都可以。您所做的只是设置参考框架。

但是请注意,当设备旋转时,窗口不会旋转(窗口坐标是屏幕坐标,并且相对于设备是固定的)。因此,使用它的坐标可能是一场噩梦。

鉴于您的问题的性质,由于所有事情都发生在标签栏控制器内,我不明白您为什么不使用标签栏控制器的视图。它包含标签栏和子视图控制器的各种视图。如果它是根视图控制器(我怀疑它是),它绝对包含其他所有内容,并且它本身不会去任何地方。

于 2014-05-03T01:57:15.960 回答