ios - iPad 导航 Controller 工具栏位置

标签 ios objective-c ipad uinavigationcontroller uitoolbar

我在 UINavigationViewController 内部有一个 UIViewController。我使用 navigationController.toolbar 执行某些操作。

Before

在第一次设备轮换之前不会出现任何问题。工具栏离开屏幕框架后。

After

没有什么可做的,即使更换另一个设备也无法解决这个问题。 该问题仅出现在 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/

相关文章:

ios - XMPPFramework - 如何创建群聊室?

arrays - 如何从数组中删除重复值

ios - 使 UITableViewCell 表现得像一个真正的按钮

ios - UIImages/UIButtons 每次编译程序时表现不同

iphone - 关于 iAd 在 iPad 和 iPhone 上显示的问题

ios - SwiftUI - 如何使用 Shape 制作垂直虚线?

iOS9 此应用程序正在从后台线程修改自动布局引擎,这可能导致引擎损坏和奇怪的崩溃

objective-c - 将 NSOperation 依赖项添加到已在 NSOperationQueue 中的操作

iphone - 直接从应用程序将 mp3 文件附加到电子邮件?

css - iPad 条件 CSS 不工作