Tengo una imagen rectangular (jpg) y quiero usarla para llenar el fondo de un botón con una esquina redondeada en xcode.
Escribí lo siguiente:
UIButton *button = [[UIButton buttonWithType:UIButtonTypeRoundedRect] retain];
CGRect frame = CGRectMake(x, y, cardWidth, cardHeight);
button.frame = frame;
[button setBackgroundImage:backImage forState:UIControlStateNormal];
Sin embargo, el botón que obtengo con ese enfoque no tiene sus esquinas redondeadas: en cambio, es un rectángulo plano que se ve exactamente como mi imagen original. ¿Cómo puedo obtener una imagen con una esquina redondeada para representar mi botón?
¡Gracias!
ios
cocoa-touch
uibutton
rounded-corners
double07
fuente
fuente
Puedes lograrlo con estos atributos RunTime
Podemos hacer un botón personalizado. Simplemente vea la captura de pantalla adjunta.
amablemente preste atención:
en tiempo de ejecución, los atributos para cambiar el color del borde siguen estas instrucciones
crear clase de categoría de CALayer
en el archivo h
en el archivo m:
ahora en adelante para configurar la captura de pantalla de verificación del color del borde
Gracias
fuente
borderColor
. Pero siempre usa negro para el color de la frontera.@property(nonatomic, assign) UIColor* borderIBColor;
(que no entre en conflicto con otro nombre) en el archivo de encabezado, y la implementación es:-(void)setBorderIBColor:(UIColor*)color{self.borderColor = color.CGColor;} -(UIColor*)borderIBColor{return [UIColorcolorWithCGColor:self.borderColor];}
Es posible que desee consultar mi biblioteca llamada DCKit . Está escrito en la última versión de Swift .
Podrá crear un botón de esquina redondeada / campo de texto desde el generador de Interfaz directamente:
También tiene muchas otras características interesantes, como campos de texto con validación, controles con bordes, bordes discontinuos, vistas de círculo y rayita, etc.
fuente
Empujando hacia el límite del radio de la esquina hacia arriba para obtener un círculo:
Si el marco del botón es un cuadrado, no importa frame.height o frame.width. De lo contrario, use el más grande de los dos.
fuente
Importe el marco QuartCore si no está en su proyecto existente, luego importe
#import <QuartzCore/QuartzCore.h>
en viewcontroller.mfuente
fuente
Primero ajuste ancho = 100 y Altura = 100 del botón
fuente
Si desea una esquina redondeada solo a una o dos esquinas, etc., lea esta publicación:
[ObjC] - UIButton con esquina redondeada - http://goo.gl/kfzvKP
Es una subclase XIB / Storyboard. Importar y establecer bordes sin escribir código.
fuente
Para Swift:
fuente
usado debajo del código para hacer que la esquina UIButton sea redonda:
fuente
Prueba mi código. Aquí puede establecer todas las propiedades de UIButton como el color del texto, el color de fondo, el radio de la esquina, etc.
Ahora llama así
fuente
Una respuesta alternativa que también establece un borde (haciéndolo más como un botón) está aquí ... Cómo configurar un borde rectangular para el tipo personalizado UIButton
fuente
Para iOS SWift 4
fuente
Para el objetivo C :
Para Swift :
fuente
Actualización de Swift 4
También probé muchas opciones, pero no pude arrinconar mi ronda UIButton. Agregué el código de radio de la esquina dentro de
viewDidLayoutSubviews()
Solucionado mi problema.También podemos ajustar la esquina Radio de la siguiente manera
fuente