2011-10-27 43 views
8

Quiero agregar un borde negro medio espeso y una sombra a los botones que he agregado en mi aplicación de iPad. He tomado esos botones como personalizados ya que he aplicado imágenes sobre ellos. Cómo puedo agregar borde y sombra a htAgregue borde y sombra a los botones

Respuesta

45

Agregar sombras y borde es simple.

1) Agregue el marco QuartzCore a su objetivo.
2) Importe el encabezado de marco en la clase donde desea agregar bordes y sombras. (O si tiene una clase personalizada para el botón, entonces puede importar este marco en esa clase.)
3) Para agregar el borde al botón use este código (donde button es un IBOutlet conectado con el botón en la interfaz):

[self.button.layer setBorderWidth:3.0]; 
[self.button.layer setBorderColor:[[UIColor blackColor] CGColor]]; 


4) para añadir a la sombra al botón utilice el código siguiente:

[self.button.layer setShadowOffset:CGSizeMake(5, 5)]; 
[self.button.layer setShadowColor:[[UIColor blackColor] CGColor]]; 
[self.button.layer setShadowOpacity:0.5]; 

se puede jugar con los valores y ver cómo va a afectar el comportamiento.

+0

Hola arslan, gracias amigo, tu código funcionó. Solo tuve que hacer algunos cambios menores. Quiero saber una cosa más. Inicialmente mis botones tenían esquinas redondeadas y después de aplicar el borde usando su código, las esquinas ya no son redondeadas. Entonces, ¿cómo puedo hacerlos redondeados como lo fueron inicialmente? respecto PC –

+2

@PrateekChaubey Bueno bueno saber que eso le sirvió :) ... Y sí se puede establecer la esquina de las fronteras para ser rect redondo con el siguiente código '[setCornerRadius self.button.layer: 5.0 ]; ' – Arslan

+0

Funcionó demasiado arslan. Gracias una tonelada ... –

0

Si estuvo en Cocoa, podría usar setShadow de NSView. (NSView es un antecesor de NSButton.) No veo el método equivalente para UIView, así que no creo que haya una forma sencilla de hacerlo en iOS. Ahora que lo pienso, no creo haber visto ese efecto en las aplicaciones de iOS, punto.

Pero ya que está usando imágenes de botones personalizados de todos modos, ¿por qué no prepara imágenes que incluyen sombras y bordes?

+1

bien, mi diseñador no me ha proporcionado imágenes incluidas con la frontera. Le pedí que me diera nuevas imágenes, pero ahora mi gerente dice que no me dará nuevas imágenes. Debo aplicar el borde y la sombra yo mismo. –

Cuestiones relacionadas