可以设置背景图片的UIBarButtonItem在导航栏,但不是底部的工具栏(Can set bac

2019-09-21 04:33发布

所以此工程项目新增至导航栏的时候,但是当我将它添加到通过界面生成器底栏设置工具栏,背景图像显示不出来。

UIBarButtonItem *resetButtonItem = [[UIBarButtonItem alloc]initWithTitle:@"Reset" style:UIBarButtonItemStylePlain target:self action:@selector(resetCriteria:)];
UIImage *img = [UIImage imageNamed:@"someImage.png"];
    img = [img stretchableImageWithLeftCapWidth:5 topCapHeight:20];
    [resetButtonItem setBackgroundImage:img forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];

self.toolbarItems   = [NSArray arrayWithObjects: resetButtonItem, nil];

不仅背景没有出现,没有任何其他行为的工作,以及(但加入这些barbutton项目的导航栏时,他们工作得很好)

Answer 1:

你应该试试下面的方法做同样的。

在设置的UIBarButtonItem自定义视图。

UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
btn.frame = CGRectMake(0, 0, 30, 30);
[btn setImage:[UIImage imageNamed:@"someImage.png"] forState:UIControlStateNormal];
[btn addTarget:self action:@selector(resetCriteria:) forControlEvents:UIControlEventTouchUpInside];

UIBarButtonItem *Item = [[UIBarButtonItem alloc] initWithCustomView:btn];
self.toolbarItems   = [NSArray arrayWithObject:Item];
[Item release];

我们可以设置用的UIBarButtonItem初始化CustomView方法的任何观点。 我们可以设置ImageView的。 但多年平均值ImageView的处理UIControl活动。



文章来源: Can set background image for UIBarButtonItem in nav bar, but not bottom toolbar