我有一个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?
答案 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相关的事情。然后调整它的外观(这样改变它的框架。)