如何改变灰色的颜色

时间:2011-11-15 06:12:01

标签: iphone xcode cocoa-touch

我的问题是“如何改变HUD的颜色代替灰色”

  • 在hud中,它们是一种灰色的颜色。
  • 如何更改该颜色的颜色替换为绿色

在下面的图像中它们是hud以及如何更改灰色替换为另一个绿色

提前致谢。 Nimit Parekh。

6 个答案:

答案 0 :(得分:12)

MBProgressHUD *HUD = [[MBProgressHUD alloc] initWithView:self.navigationController.view];
HUD.color = [UIColor purpleColor];
...

答案 1 :(得分:10)

斯威夫特3:

let hud:MBProgressHUD = MBProgressHUD.showAdded(to: self.view, animated: true)

hud.bezelView.color = UIColor.green // Your backgroundcolor

hud.bezelView.style = .solidColor // you should change the bezelview style to solid color.

答案 2 :(得分:4)

我找到了这个问题的解决方案,并在我的项目中实现。

在下面的方法用于MBProgressHud.m它们是一个管理Hud背景颜色的颜色,所以我们改变颜色,改变CGContextSetRGBFillColor参数值的变化。

如果应用此值,我们将获得hud的绿色。

- (void)fillRoundedRect:(CGRect)rect inContext:(CGContextRef)context {
    float radius = 10.0f;

    CGContextBeginPath(context);
    CGContextSetRGBFillColor(context, 17.0/255, 64.0/255, 42.0/255, 0.8);
    CGContextMoveToPoint(context, CGRectGetMinX(rect) + radius, CGRectGetMinY(rect));
    CGContextAddArc(context, CGRectGetMaxX(rect) - radius, CGRectGetMinY(rect) + radius, radius, 3 * M_PI / 2, 0, 0);
    CGContextAddArc(context, CGRectGetMaxX(rect) - radius, CGRectGetMaxY(rect) - radius, radius, 0, M_PI / 2, 0);
    CGContextAddArc(context, CGRectGetMinX(rect) + radius, CGRectGetMaxY(rect) - radius, radius, M_PI / 2, M_PI, 0);
    CGContextAddArc(context, CGRectGetMinX(rect) + radius, CGRectGetMinY(rect) + radius, radius, M_PI, 3 * M_PI / 2, 0);
    CGContextClosePath(context);
    CGContextFillPath(context);
}

答案 3 :(得分:4)

MBProgressHUD.m有一个" drawRect:(CGRect)rect"您可以在CGContext函数中找到灰色颜色的方法:

CGContextSetGrayFillColor (context, 0.0f, self.opacity);

你可以用另一个使用RGB(或其他)颜色类型的函数替换CGContextSetGrayFillColor:

CGContextSetRGBFillColor (context, 0/255.0f, 132/255.0f, 200/255.0f, 0.9f);

Check complete CGContext reference here:

答案 4 :(得分:3)

MBProgressHud的0.8版让你在它的init方法中设置颜色: 默认设置为nil。

在MBProgressHUD.m中:

- (id)initWithFrame:(CGRect)frame {
.
.
.
self.color = [UIColor greenColor];

答案 5 :(得分:2)

_mHud.bezelView.color = [UIColor blackColor];
_mHud.bezelView.style = MBProgressHUDBackgroundStyleSolidColor;
_mHud.contentColor = [UIColor whiteColor];