创建一个透明的UIToolbar

来源:互联网 发布:家长监控软件 编辑:程序博客网 时间:2024/04/30 12:57

http://www.linuxidc.com/Linux/2012-08/68651.htm

今天需要创建一个透明的UIToolbar,便看了下SDK,使用下面代码

  1.  CGRect barFrame = CGRectMake(900, 0, 124, 40);      
  2. UIToolbar *tb;  
  3. tb = [[UIToolbar alloc]initWithFrame:barFrame];  
  4. tb.barStyle =UIBarStyleDefault;  
  5. tb.tintColor = [UIColor clearColor];  
  6. tb.translucent = YES;  
效果如下图

在边缘的位置们依然能看出视图层之间的层叠,所以查看了些资料,原来正确的方法是子类化UIToolbar,设置其backgroundColor

  1. @interface TranslucentToolbar : UIToolbar  
  2.   
  3. @end  
 
  1. @implementation TranslucentToolbar  
  2.   
  3. - (void)drawRect:(CGRect)rect {  
  4.     // do nothing   
  5. }  
  6.   
  7. - (id)initWithFrame:(CGRect)aRect {  
  8.     if ((self = [super initWithFrame:aRect])) {  
  9.         self.opaque = NO;  
  10.         self.backgroundColor = [UIColor clearColor];  
  11.         self.clearsContextBeforeDrawing = YES;  
  12.     }  
  13.     return self;  
  14. }  
  15. @end  
在需要创建的地方使用子类化的UIToolbar
  1. TranslucentToolbar *tb;  
  2.  tb = [[TranslucentToolbar alloc]initWithFrame:barFrame];  
效果如下,得到了一个透明的UIToolbar

0 0
原创粉丝点击