我正尝试使用以下代码为iOS7上的UIToolbar
中的UIBarButtonItem
设置自定义背景图像。工具栏中的UIBarButtonItems是否可以在iOS7中使用背景图像?
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的,我可以验证resizableBackgroundImage
是什么(当被选择时,通常圆形的灰色矩形圆角蓝色矩形)我期望的那样。但是,不会出现背景图像。此代码在iOS6上按预期工作(显示背景图像)。 iOS7强加自己的意志,而不是在这种情况下显示背景,或者是我错过的其他东西?
我做在我的代码调用的确切顺序,我的自定义图像在iOS 7中显示得很好(我现在在我的代码中,只是再次检查它)。我也尝试过,并且没有导航栏的自定义图像,并且无论哪种方式都可以正常工作。 – HalR
如果你绝望,你可以尝试将'customView'属性设置为包含图像的'UIImageView'。希望这会有所帮助;) – nemesis
@HaIR这似乎适用于NavigationBar,但不适用于工具栏。 –