2012-10-02 22 views
5

Estoy diseñando un UIToolbar cambiando el color del tinte y el color del tinte de sus subvistas UIBarButtonItem. Tengo que trabajar, excepto que no puedo encontrar la manera de cambiar el color de la sombra de un color oscuro a un color claro para los elementos de los botones individuales barra de (ver ejemplo, elementos de los botones de barras se ven borrosos):Cambiar el color de sombra de Uoolbar para UIBarButtonItem

dark instead of light shadow

¿Cómo puedo cambiar la sombra en el UIBarButtonItem con el estilo UIBarButtonItemStylePlain para que sea blanca? He subido un proyecto de muestra here.

Respuesta

0

La solución final fue agregar los botones como UIButton contenidos en UIBarButtonItem e incluir cualquier sombra en el archivo PNG utilizado para la imagen UIButton.

0
  1. En el UIBarButtonItem Class Reference no hay una sola mención de la palabra "sombra"
  2. utiliza una imagen de la sombra, no un UIColor
  3. Algunos ejemplos de código fuente se pueden encontrar @cocoaControls.com

Para los UIBarButtonItem appearance sólo las 2 imágenes y colores se pueden cambiar :

setBackgroundImage: forState: barMetrics:
Establece la imagen de fondo para un determinado métricas de estado y la barra.

- (void)setBackgroundImage:(UIImage *)backgroundImage forState:(UIControlState)state barMetrics:(UIBarMetrics)barMetrics 

Para el UIToolBar:

  1. para añadir sus propias costumbres sombra look at this StackOverflow post
  2. Para poder utilizar las funciones de cacao predefinido look at UIToolBar Class Reference

setShadowImage: forToolbarPosition:
Establece la imagen que se utilizará para la sombra de la barra de herramientas en una posición determinada.

(void)setShadowImage:(UIImage *)shadowImage forToolbarPosition:(UIToolbarPosition)topOrBottom 

shadowImageForToolbarPosition:
Devuelve la imagen a usar para la barra de herramientas de la sombra en una posición dada.

(UIImage *)shadowImageForToolbarPosition:(UIToolbarPosition)topOrBottom 

No sé que más decir, no existe un método alternativo para el UIBarButtonItem.
Espero que esto se explica por sí mismo.

+0

¿No se aplica esta sombra a la UIToolbar?Quiero cambiar la sombra en el UIBarButtonItem (es decir, la vista contenida en la UIToolbar). –

+0

@KevinSylvestre Mira mi nueva edición, tendrás que crear una imagen de fondo especial para que funcione como tu sombra, o ver cocoa controls.com para ver el código fuente – Comradsky

+0

¿Arregla esto la sombra del 'UIBarButtonItem'? No puedo entender qué parte se aplica a eso. –

Cuestiones relacionadas