歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

iOS開發教程:創建透明的UIToolbar

今天需要創建一個透明的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

Copyright © Linux教程網 All Rights Reserved