开发者社区> 问答> 正文

设置iphone中的UIToolbar的颜色

在ios4.3以上版本,想把UIToolbar的颜色改成灰色,

但是下面的代码没有实现:

- (void)drawRect:(CGRect)rect {

    UIGraphicsBeginImageContext(rect.size);

    CGContextRef ctx = UIGraphicsGetCurrentContext();
    CGContextSaveGState(ctx);

        [[UIColor colorWithRed:64.0f/255.0f
                         green:64.0f/255.0f
                          blue:64.0f/255.0f
                         alpha:1.0f] set];

    CGRect myRect = CGRectMake(0, 0, self.frame.size.width, self.frame.size.height);
    CGContextFillRect(ctx, myRect);

    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    CGContextRestoreGState(ctx);
    UIGraphicsEndImageContext();

    [image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
}

为什么?

展开
收起
爵霸 2016-05-27 15:30:38 1897 0
1 条回答
写回答
取消 提交回答
  • 可以通过使用灰色的背景图片实现。用下面代码加入图片:

    UIToolbar *toolBar = //此处添加toolbar
    
     UIImage *toolbarBkg = [[UIImage imageNamed: @"toolbarBkg.png"] stretchableImageWithLeftCapWidth:0 topCapHeight:0];
    
     if ([toolBar respondsToSelector:@selector(setBackgroundImage:forToolbarPosition:barMetrics:)])
         [toolBar setBackgroundImage:toolbarBkg forToolbarPosition:UIToolbarPositionAny barMetrics:UIBarMetricsDefault];
     else {
         UIImageView *background = [[UIImageView alloc] initWithImage:toolbarBkg];
         background.frame = toolBar.frame;
         [toolBar insertSubview:background atIndex:0];
     }
    2019-07-17 19:18:01
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载