【问题标题】:How can I make a UIToolbar from a UINavigationController taller?如何使 UINavigationController 中的 UIToolbar 更高?
【发布时间】:2012-11-11 23:44:06
【问题描述】:

我有一个 UINavigationController,在屏幕顶部有一个 UINavigationBar,在底部有一个 UIToolbar。我想让工具栏高一点。这是我的代码:

CGRect toolbarFrame = self.navigationController.toolbar.frame;
toolbarFrame.size.height += 20;
toolbarFrame.origin.y -= 20;
self.navigationController.toolbar.frame = toolbarFrame;

[self setToolbarItems:@[myButton]];
self.navigationController.toolbarHidden = NO;

这似乎应该可以工作并且不会产生任何错误/警告,但工具栏的大小保持默认值。

有没有办法改变 UINavigationController 的 UIToolbar 的大小,或者我应该为此制作一个自定义 UIToolbar?

【问题讨论】:

  • 来自UINavigationControllerAccess to this toolbar is provided solely for clients that want to present an action sheet from the toolbar. You should not modify the UIToolbar object directly.的文档
  • @Paul.s 我以为他们指的是更深入/更多功能的变化,而不是简单地弄乱外观。不过,再读一遍,你可能是对的。他们没有具体说明。谢谢:)

标签: objective-c ios uinavigationcontroller uitoolbar


【解决方案1】:

我已经尝试了您的代码,只是调整了您的代码顺序。它会起作用的:

[self setToolbarItems:@[myButton]];
self.navigationController.toolbarHidden = NO;

CGRect toolbarFrame = self.navigationController.toolbar.frame;
toolbarFrame.size.height += 20;
toolbarFrame.origin.y -= 20;
self.navigationController.toolbar.frame = toolbarFrame;

我认为这是因为setToolbarItems 会调整工具栏的外观。所以你首先需要做其他与初始化相关的事情。然后调整它的外观(比如改变它的框架。)

【讨论】:

  • 在 2019 年像魅力一样工作 :)
猜你喜欢
  • 1970-01-01
  • 2011-01-19
  • 1970-01-01
  • 1970-01-01
  • 2011-12-25
  • 1970-01-01
  • 2016-09-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多