我在 UINavigationViewController
内部有一个 UIViewController
。我使用 navigationController
.toolbar
执行某些操作。
在第一次设备轮换之前不会出现任何问题。工具栏离开屏幕框架后。
没有什么可做的,即使更换另一个设备也无法解决这个问题。 该问题仅出现在 iPad ios v.6 上。 代码很简单:
- (void)createToolbar{
UIImage *toolbarBack = [[UIImage imageNamed:@"navbar"] resizableImageWithCapInsets:UIEdgeInsetsMake(2, 2, 2, 2)];
[self.navigationController.toolbar setBackgroundImage:toolbarBack forToolbarPosition:UIBarPositionBottom barMetrics:UIBarMetricsDefault];
self.navigationController.toolbar.delegate = self;
//...
self.toolbarItems = @[item1, space, item2, space, item3, space, item4];
}
- (void)showToolbar{
[self.navigationController setToolbarHidden:YES animated:NO];
}
#pragma mark - toolbar delegate methods
- (UIBarPosition)positionForBar:(id<UIBarPositioning>)bar{
return UIBarPositionBottom;
}
更新 我发现在旋转之前 navigationController.view.height == 1004 和旋转之后它增加了 20 (1024)。是状态栏的问题吗?
最佳答案
为 View Controller 设置工具栏委托(delegate)并实现方法:
- (UIBarPosition)positionForBar:(id <UIBarPositioning>)bar {
return UIBarPositionBottom;
}
如果您使用 Storyboard,您可以在屏幕底部和工具栏之间创建约束。
关于ios - iPad 导航 Controller 工具栏位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20491496/