如何从UINavigationController更高版本创建UIToolbar?

时间:2012-11-11 23:44:06

标签: objective-c ios uinavigationcontroller uitoolbar

我有一个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?

1 个答案:

答案 0 :(得分:2)

我已经尝试过您的代码并调整代码的顺序。它会起作用:

[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会调整工具栏的外观。所以你首先需要做其他与init相关的事情。然后调整它的外观(这样改变它的框架。)