我正在尝试找到一种简洁的方法来使 UIToolbar
的宽度达到它需要的宽度以适应它所包含的项目。有没有办法:
- 配置
UIToolbar
以在其项目更改时自动调整其宽度? - 以编程方式确定项目所需的最小宽度,然后可用于设置
UIToolbar
的框架?
由于项目之间的间距以及 UIBarButtonItem
不是 UIView
子类这一事实,我无法弄清楚这一点。
最佳答案
在尝试了其他答案的一些建议之后,除非我使用自定义 View ,或者除非所有内容都已加载,否则这些建议不起作用,我终于找到了一种根据其项目设置工具栏宽度的方法:
//Add bar items to toolbar first.
UIView* v = toolbar.subviews.lastObject;
float newWidth = v.frame.origin.x + v.frame.size.width;
//Set toolbar width
您需要覆盖 UIToolbar -setItems:
或以其他方式检测更改的按钮以自动调整大小。
我已将此功能包含在我的重构库中,es_ios_utils , 使用多个按钮设置导航项的右侧项。在前面的链接中,请参阅 UIToolbar +toolbarWithItems:
和 UINavigationItem -setRightBarButtonItems
。
关于objective-c - 调整 UIToolbar 的大小以适合其项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4947445/