歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> iOS開發教程:創建透明的UIToolbar

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

日期:2017/3/1 10:12:15   编辑:Linux編程

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

Copyright © Linux教程網 All Rights Reserved