更改 UIToolbar 的背景图片
Posted
技术标签:
【中文标题】更改 UIToolbar 的背景图片【英文标题】:Change background image of UIToolbar 【发布时间】:2011-03-18 05:07:42 【问题描述】:如何?我已经能够为导航栏做到这一点,但不是 UIToolbar。我不想更改 tintColor。我想更改整个图像。
感谢您的帮助。
【问题讨论】:
【参考方案1】:来自Can I give a UIToolBar a custom background in my iPhone app?
重写 drawRect 函数并创建 UIToolbar
的实现就可以了:)
@implementation UIToolbar (CustomImage)
- (void)drawRect:(CGRect)rect
UIImage *image = [UIImage imageNamed: @"nm010400.png"];
[image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
@end
【讨论】:
感谢您的回答 7KV7。我试过这个,它似乎不起作用。为了清楚起见,我将此代码放在需要新工具栏的视图控制器中,位于@implementation 上方。我做错了吗? 我认为继承 uitoolbar 更好 7KV7,你提到的方法在设备上运行良好,但在模拟器上不行。但是,是的,子类化似乎是一种更好的方法。感谢您的回答!【参考方案2】:您可以使用以下代码:
[myToolbar insertSubview:[[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"toolbar_40.png"]] autorelease] atIndex:0];
已针对模拟器 4.3 修复。
【讨论】:
【参考方案3】:从 ios5 开始,您可以使用 Appearance API:
[[UIToolbar appearance] setBackgroundImage:[UIImage imageNamed:@"someImage"] forToolbarPosition:UIToolbarPositionAny barMetrics:UIBarMetricsDefault];
【讨论】:
以上是关于更改 UIToolbar 的背景图片的主要内容,如果未能解决你的问题,请参考以下文章