iOS系統自帶的UIToolbar的樣式簡單,往往不能滿足開發或特殊目的的需要,例如設置完全背景透明的UIToolbar或者自定義UIToolbar的背景色,這時候就需要對UIToolbar進行單獨定制。
設置UIToolbar背景透明,只需要設置UIToolbar的backgroundColor為[UIColor clearColor]即可,如果需要單獨定制UIToolbar的背景色,則需要繼承並自己實現UIToolbar對象。
直接修改背景色請參照以下的方法1,繼承並自己實現UIToolbar對象請參照方法2。
方法1
//使button的tint色與導航條一致
toolbar.tintColor = self.navigationController.navigationBar.tintColor;
toolbar.backgroundColor = [UIColor clearColor]; //設置為背景透明
for (UIView *view in [rightToolbar subviews]) {
if ([view isKindOfClass:[UIImageView class]]) {
[view removeFromSuperview];
}
}
方法2
代碼如下 復制代碼//MyToolbar.h
@interface MyToolbar : UIToolbar
@end
//MyToolbar.m
@implementation MyToolbar
- (id)initWithFrame:(CGRect)aRect {
if ((self = [super initWithFrame:aRect])) {
self.opaque = NO;
self.backgroundColor = [UIColor clearColor]; //設置為背景透明,可以在這裡設置背景圖片
//self.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"background"]];
self.clearsContextBeforeDrawing = YES;
}
return self;
}
- (void)drawRect:(CGRect)rect {
// do nothing
}
@end