我希望在我的iPhone应用程序中设置UIToolbar
的背景图片。
目前我使用UIColor
的initWithPatternImage:
来设置。
但它没有达到我想要的效果。
请建议其他解决方案。
我希望在我的iPhone应用程序中设置UIToolbar
的背景图片。
目前我使用UIColor
的initWithPatternImage:
来设置。
但它没有达到我想要的效果。
请建议其他解决方案。
您无需创建自定义类。您可以将类别添加到UIToolBar中,如下所示
@implementation UIToolbar (UIToolbarCategory)
- (void)drawRect:(CGRect)rect {
UIColor *color = [UIColor colorWithRed:0.547 green:0.344 blue:0.118 alpha:1.000]; //whatever goes well with your background image.
UIImage *img = [UIImage imageNamed: @"your-navbar-img.png"];
[img drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
[img release];
self.tintColor = color;
[super drawRect:rect];
}
@end
我已进行测试,它运行良好。
附注:昨晚我使用的是4.3版本进行测试,但结果不如预期,但在4.2版本中正常工作。 我还没有找到原因,找到正确的代码片段后会进行更新。
对于4.3及以上版本,您应该子类化UIToolbar或UINavigationBar类别添加不受支持。以下代码适用于4.3版本:
#import <UIKit/UIKit.h>
@interface MyAppToolBar : UIToolbar{
}
@end
@implementation MyAppToolBar
- (void)drawRect:(CGRect)rect {
[super drawRect:rect];
UIColor *color = [UIColor colorWithRed:0.547 green:0.344 blue:0.118 alpha:1.000]; //wood tan color
UIImage *img = [UIImage imageNamed: @"your-navbar-img.png"];
[img drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
[img release];
self.tintColor = color;
}
@end
- (void)drawRect:(CGRect)rect {
UIImage *image = [UIImage imageNamed: @"CustomImage.png"];
[image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
}