Как поменять цвет кожуха на серый цвет - PullRequest
5 голосов
/ 15 ноября 2011

Мой вопрос: «Как изменить цвет HUD вместо серого» * ​​1001 *

  • В hud это серый цвет для hud.
  • Какизменить цвет этого цвета заменить на выключенный зеленый цвет

на изображении ниже их цвет и как заменить серый цвет заменить другим другим зеленым цветом

Спасибо заранее.Нимит Парех.

Ответы [ 6 ]

12 голосов
/ 07 ноября 2014
MBProgressHUD *HUD = [[MBProgressHUD alloc] initWithView:self.navigationController.view];
HUD.color = [UIColor purpleColor];
...
10 голосов
/ 03 ноября 2016

Swift 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.
4 голосов
/ 27 августа 2013

MBProgressHUD.m имеет метод drawRect: (CGRect) rect, в котором вы найдете серый цвет, установленный в функции CGContext:

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

Вы можете просто заменить CGContextSetGrayFillColor другой функцией, которая использует RGB (или другой) тип цвета:

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

Проверьте полную ссылку CGContext здесь:

4 голосов
/ 03 января 2012

Я выяснил решение этой проблемы и внедрил в свой проект.

В следующем методе используется в 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 голосов
/ 27 мая 2017
_mHud.bezelView.color = [UIColor blackColor];
_mHud.bezelView.style = MBProgressHUDBackgroundStyleSolidColor;
_mHud.contentColor = [UIColor whiteColor];
3 голосов
/ 21 апреля 2014

Версия 0.8 MBProgressHud позволяет вам установить цвет в его методе init: по умолчанию он равен nil.

в MBProgressHUD.m:

- (id)initWithFrame:(CGRect)frame {
.
.
.
self.color = [UIColor greenColor];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...