では、
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 件のコメント:
コメントを投稿