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 |