所以此工程项目新增至导航栏的时候,但是当我将它添加到通过界面生成器底栏设置工具栏,背景图像显示不出来。
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项目的导航栏时,他们工作得很好)
你应该试试下面的方法做同样的。
在设置的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