では、
toolbar.backgroundColor = [UIColor clearColor]; toolbar.opaque = NO; toolbar.translucent = YES;という具合にやればいいかというと、これもダメです。普通に背景が表示されてしまいます。
stackoverflowで解決策が紹介されていました。UIToolbarを継承して新しいクラスをつくればいいようです。次のような具合にやります。
TransparentToolbar.h
@interface TransparentToolbar : UIToolbar @end
TransparentToolbar.m
@implementation TransparentToolbar // Override draw rect to avoid // background coloring - (void)drawRect:(CGRect)rect { // do nothing in here } // Set properties to make background // translucent. - (void) applyTranslucentBackground { self.backgroundColor = [UIColor clearColor]; self.opaque = NO; self.translucent = YES; } // Override init. - (id) init { self = [super init]; [self applyTranslucentBackground]; return self; } // Override initWithFrame. - (id) initWithFrame:(CGRect) frame { self = [super initWithFrame:frame]; [self applyTranslucentBackground]; return self; } @end
0 件のコメント:
コメントを投稿