2010-03-31 40 views
5

Estoy tratando de dibujar un rect redondo normal UIButton, pero sin el borde. Idealmente, me gustaría poder cambiar alguna configuración en el UIButton para desactivar el borde.UIButton de rectángulo redondeado sin el borde

Mi problema es que si cambio el tipo de botón a "personalizado", no obtengo el bonito degradado de selección azul (que quiero conservar), y no tengo ni idea de cómo dibujarlo manualmente.

Respuesta

2

He usado un UISegmentedControl con solo un segmento para esto. Puedes usar tintColor obtienes un buen degradado. Las conexiones de eventos son ligeramente diferentes, pero no es un gran problema.

This answer proporciona más detalles.

+0

Terminé yendo con esto. No proporciona el fondo blanco sólido, y el control segmentado todavía tiene el borde, pero estaba lo suficientemente cerca de lo que estaba tratando de hacer. –

4

Cambie el tipo de botón a personalizado. Hay un menú desplegable justo debajo de "Predeterminado", "Destacado", "Seleccionado", etc. Realice un degradado azul, configúrelo como la imagen para la "Configuración de estado resaltado". Eso debería darte el gradiente azul cuando lo resaltas. Si lo quiere cuando está seleccionado, use la configuración "Seleccionado".

+0

Lo ideal sería utilizar sólo la forma de una función de gradiente de color azul y mantener el rect-redondeado. –

+0

no creas que puedas: si quieres la forma rectángular redondeada, dale la forma correcta al degradado y tus imágenes personalizadas, como el rectángulo redondeado. desafortunadamente, creo que vas a tener que fingir en lugar de usar el brillo de la manzana. – saramah

+0

También puede intentar usar la propiedad 'button.layer.cornerRadius'. – Bill

0

Puede usar el tipo personalizado de UIButton. Y configure la imagen adecuada como fondo del UIButton.

+0

Sí, sé que puedo hacer esto (lo digo en la pregunta). Mi pregunta es si puedo eliminar el borde * sin * hacer que sea un botón personalizado. –

0

probar este código,

button.layer.borderWidth = 3;  
button.layer.borderColor = [UIColor whiteColor].CGColor; 
Cuestiones relacionadas