¿Cómo redondear solo las esquinas en un UITableView?
Frecuentes
Visto 910 veces
5
Estoy tratando de redondear solo las esquinas superior derecha e izquierda de mi vista de tabla. Estoy usando el siguiente código y solo parece estar redondeando la esquina superior izquierda...
CAShapeLayer *topLayer = [CAShapeLayer layer];
UIBezierPath *roundedPath =
[UIBezierPath bezierPathWithRoundedRect:self.bounds byRoundingCorners:UIRectCornerTopRight | UIRectCornerTopLeft cornerRadii:CGSizeMake(9.f, 9.0f)];
topLayer.path = [roundedPath CGPath];
1 Respuestas
2
Espero que esto funcione. Encuentra los caminos de la esquina superior para crear una capa de máscara
UIBezierPath *PathToMask;
PathToMask = [UIBezierPath bezierPathWithRoundedRect:self.testView.bounds
byRoundingCorners:(UIRectCornerTopLeft | UIRectCornerTopRight)
cornerRadii:CGSizeMake(8.0, 8.0)];
Cree una máscara de capa de forma usando UIBezierPath maskPath
CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
maskLayer.frame =self.testView.bounds;
maskLayer.path = PathToMask.CGPath;
establecer la capa de máscara maskLayer
self.testView.layer.mask = maskLayer;
Respondido 05 Feb 15, 05:02
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas ios rounded-corners uibezierpath uitableview or haz tu propia pregunta.
stackoverflow.com/a/5826698/855738 Usé esta respuesta para hacer más o menos lo mismo: BBog
Sé que es una publicación antigua, pero solo asegúrate de tenerla. [tableView.layer setMasksToBound: YES] y debería estar bien y elegante - Taylor Abernethy Newman
Ver la respuesta aceptada [aquí][1]. Puede ser el mismo problema. [1]: stackoverflow.com/questions/26934231/… - Murray Sagal