工具栏中的UIBarButtonims在iOS7中是否可以有背景图像?

工具栏中的UIBarButtonims在iOS7中是否可以有背景图像?,ios,ios7,uibarbuttonitem,uitoolbar,Ios,Ios7,Uibarbuttonitem,Uitoolbar,我正在尝试使用以下代码为iOS7上的UIToolbar中的UIBarButtonItem设置自定义背景图像 NSString *imageName = selected ? @"background_view_baritem_selected" : @"background_view_baritem_normal"; UIImage *backgroundImage = [UIImage imageNamed:imageName]; UIImage *resizableBackgroun

我正在尝试使用以下代码为iOS7上的
UIToolbar
中的
UIBarButtonItem
设置自定义背景图像

    NSString *imageName = selected ? @"background_view_baritem_selected" : @"background_view_baritem_normal";
UIImage *backgroundImage = [UIImage imageNamed:imageName];
UIImage *resizableBackgroundImage = [backgroundImage resizableImageWithCapInsets:UIEdgeInsetsMake(6, 6, 6, 6)];
[self setBackgroundImage:resizableBackgroundImage forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];

在调试器中,使用QuickLook,我可以验证
ResizeableBackgroundImage
是否是我所期望的(选中时为蓝色圆角矩形,正常情况下为灰色圆角矩形)。但是,不会显示背景图像。此代码在iOS6上正常工作(显示背景图像)。在这种情况下,iOS7是强制执行它的意愿而不显示背景,还是它们的内容是我缺少的?

至于我,我只能通过使用自定义视图来解决它。 例如,如果你有一些出口的维吾尔人

@property (nonatomic, weak) IBOutlet  UIBarButtonItem *item;
。。。。。在代码中,可以执行以下操作:

UIImage *configImage = /* initialize necessary image */;
UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(0,0, item.width, 32)];
[btn setBackgroundImage:configImage forState:UIControlStateNormal];
[btn setTitle:item.title forState:UIControlStateNormal];
btn.titleLabel.font = [UIFont systemFontOfSize:14];
[btn addTarget:item.target action:item.action forControlEvents:UIControlEventTouchUpInside];

item.customView = btn;

我在我的代码中执行精确的调用序列,我的自定义图像在iOS 7中显示得很好(我现在在我的代码中,只是仔细检查了一下)。我还尝试过在导航栏上使用自定义图像和不使用自定义图像的情况下使用它,两种方式都很好。如果您不顾一切,可以尝试将
customView
属性设置为包含图像的
UIImageView
。希望这有帮助;)@头发这似乎在导航栏上有效,但在工具栏上无效。我自己没有使用IBOutlet(我的视图中没有XIB),但这在iOS 7上对我有效;我尝试过许多其他的解决方案,但都失败了。非常感谢。