2011-11-15 40 views
5

Mi pregunta es el "Cómo cambiar el color del HUD en lugar del gris"Cómo cambiar el color de HUD lugar del color gris

  • En HUD su es un color gris para el HUD.
  • ¿Cómo cambiar el color de ese color reemplazar con color verde apagado

imagen de abajo en su es HUD y cómo cambiar el color gris reemplazar con otro fuera de color verde

Gracias por adelantado. Nimit Parekh.

+0

Esto no es un control integrado de UIKit - son por casualidad hablando ¿esta? https://github.com/jdg/MBProgressHUD – BoltClock

+0

sí, soy utilizar MBProgressHud sino en que yo quiero cambiar el color de fondo en la imagen, que es de color negro fuera de lugar en el que la inserción de fuera de color verde. –

+0

Sólo tienes que ir al archivo de implementación y modificar el color en el método init :) –

Respuesta

4

que fundar la solución de este problema y puesto en práctica en mi proyecto.

En el siguiente método se utiliza en MBProgressHud.m, se trata de administrar el color del fondo de Hud para cambiar el color para el que cambiamos el valor del argumento CGContextSetRGBFillColor.

Si se aplica este valor, entonces obtiene el color verde de la 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); 
} 
4

MBProgressHUD.m tiene un "drawRect: (CGRect) rect" método donde se encuentra el color gris, serie en la función CGContext:

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

Sólo puede sustituir CGContextSetGrayFillColor por otra función que utiliza RGB (u otro) tipo de color:

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

Check complete CGContext reference here:

3

Versión 0.8 de MBProgressHud le permite configurar el color en su método init: Se establece en nil por defecto.

en MBProgressHUD.m:

- (id)initWithFrame:(CGRect)frame { 
. 
. 
. 
self.color = [UIColor greenColor]; 
12
MBProgressHUD *HUD = [[MBProgressHUD alloc] initWithView:self.navigationController.view]; 
HUD.color = [UIColor purpleColor]; 
... 
+1

No funciona con el último código MBProgressHUD – jjxtra

10

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. 
+0

Esto funciona con la última MBProgress en Swift 3 – Ahmed

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