【发布时间】:2011-01-24 18:30:34
【问题描述】:
我试图在我的 iPad 应用程序中使用 UINavigationController 对象的内置 UIToolbar 对象,但我希望它显示在视图的顶部而不是底部,这是它的默认位置。
我还隐藏了 UINavigationController 对象的导航栏。
为了完成这项工作,我不得不编写以下代码:
navigationController.navigationBarHidden = YES;
navigationController.toolbarHidden = NO;
navigationController.toolbar.frame = CGRectMake(0, 0, 768, 44);
此解决方案有一个例外:当应用程序进入后台并再次变为活动状态时,工具栏始终重新定位在视图底部。
我已尝试将代码从 viewDidLoad 移动到 viewDidAppear:animated,但它的行为仍然如此。
首先,有没有更好的方法来解决这个问题,如果没有,我怎样才能阻止工具栏被重新定位?
我还决定使用我自己的 UIToolbar 对象并通过自定义 Base UIViewController 类的 viewDidLoad 将其添加到每个视图中。但是,这会导致工具栏在每个视图被推送或弹出时进行动画处理,因为它实际上是视图的一部分,这看起来很“做作”。
对可能的解决方案有什么想法吗?
谢谢大家!
【问题讨论】:
标签: iphone cocoa-touch ipad uinavigationcontroller uitoolbar