我在UITabBarController中有一个UINavigationController。在导航控制器中,我有一个ViewController,它使用transitionWithView:duration:options:animations:completion
在两个视图之间进行翻转。我想要显示的一个视图是一个TableView。
问题是当显示TableView它处于关闭位置时。
和翻转视图
我测试了两个标准视图之间没有问题的翻转,只有TableView显示了关闭位置。此外,当Tableview有更多数据,然后可以在屏幕上显示底部行被Tabbar隐藏。看起来框架大小是错误的,但我不知道如何解决这个问题。
Full test project and code can be found on GitHub
非常感谢任何建议或帮助。
答案 0 :(得分:3)
问题的根源在于您使用UIViewControllers(FlipSide和FlipMain)作为FlipController的子视图,FlipController本身就是一个UIViewController。在iOS 5之前,这是not supported并且不可避免地导致问题。 iOS 5 adds support用于视图控制器层次结构,但要求您使用适当的新方法。
您有两个选择:重构视图控制器,使它们不嵌套,将子控制器重写为UIViews,或使用addChildViewController添加子控制器。
我已经分叉并修改了原始代码here,以说明更改为UIViews可以解决布局问题。
答案 1 :(得分:0)
如果没有完整的代码,有点难以回答,但我会尝试使用视图控制器的“wantsFullScreenLayout”属性。我这样说是因为偏移似乎是20px高,这对应于状态栏的高度......
让我知道这是否有帮助; - )