如何使 UINavigationController 中的 UIToolbar 更高?
Posted
技术标签:
【中文标题】如何使 UINavigationController 中的 UIToolbar 更高?【英文标题】:How can I make a UIToolbar from a UINavigationController taller? 【发布时间】: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 我以为他们指的是更深入/更多功能的变化,而不是简单地弄乱外观。不过,再读一遍,你可能是对的。他们没有具体说明。谢谢:)
【参考方案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 年像魅力一样工作 :)以上是关于如何使 UINavigationController 中的 UIToolbar 更高?的主要内容,如果未能解决你的问题,请参考以下文章
将 managedObjectContext 发送到 viewController 崩溃
ID:[...] 的 NSManagedObject 已失效
在 UINavigationController 中设置时图像不显示
UINavigationController - 何时释放推送的视图控制器等