我想在工具栏的顶部和中心显示按钮。我设置了 UIBarButtonItem 的图像,但它没有给出如下图所示的预期结果。
我可以添加菜单并找到我
但无法添加请求按钮,如图所示。
请求按钮是一个图像,当我将它设置为 UIBarButtonItem 图像时,它会被拉伸
请帮忙
这就是我所做的。
但我想这样做。如您所见,在我的解决方案中,请求按钮位于工具栏下方,而在下图中,请求按钮位于顶部。
只需将UIBarButtonItem
with添加FlexibleSpace
到这两个按钮的两侧,如下所示..
UIBarButtonItem *flexibleSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
查看所有带有两个按钮的代码..
UIBarButtonItem *flexibleSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
UIBarButtonItem *locateMe = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonItemStylePlain target:self action:@selector(locateMe:)];
UIBarButtonItem *request = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonItemStylePlain target:self action:@selector(request:)];
UIBarButtonItem *menu = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonItemStylePlain target:self action:@selector(menu:)];
NSArray *toolbarItems = [NSArray arrayWithObjects:locateMe,flexibleSpace,request , flexibleSpace, menu];
[toolBar setItems:toolbarItems animated:NO];
从XIB
你也可以UIBarButtonSystemItemFlexibleSpace
像下面的图片一样设置这个..
更新:您想在 UIToolBar 上添加带有该图像的请求按钮,然后UIImageView
在添加后添加UIToolBar
该按钮和按钮,UIView
如下所示。
[self.view bringSubviewToFront:imgView];
[self.view bringSubviewToFront:btnRequest];
从 Nib在对象上使用灵活的空间项UIToolbar
。如下图:-
对于添加中心按钮更大然后工具栏高度然后检查这个波纹管演示并使用它的类别来执行此任务只需将您的图像拖到演示中并将图像名称更改为 CenterButtonIconPaw.png 并检查:-
https://github.com/el-eleven/EEToolbarCenterButton
使用我按照您的意愿完成的图像看起来与您的需求相似:-
斯威夫特版本
let flexibleSpace = UIBarButtonItem(
barButtonSystemItem: .flexibleSpace,
target: nil,
action: nil)
let locateMe = UIBarButtonItem(
barButtonSystemItem: .plain,
target: self,
action: #selector(locateMe))
let request = UIBarButtonItem(
barButtonSystemItem: .plain,
target: self,
action: #selector(request))
let menu = UIBarButtonItem(
barButtonSystemItem: .plain,
target: self,
action: #selector(menu))
let items = [locateMe, flexibleSpace, request, flexibleSpace, menu]
setToolbarItems(items, animated: false)