caracteristicas - Cómo evitar que UITableView recorte los contenidos de UITableViewCell en iOS 7
ios 9 (2)
Parece que la jerarquía de vistas ha cambiado ligeramente en iOS 7 para las celdas de vista de tabla.
Puede intentar establecer los clips en los límites de la vista de supervisor de contentView:
[cell.contentView.superview setClipsToBounds:NO];
Si agrega lo siguiente a su código de muestra y ejecuta en ios7 vs ios6, verá que hay una vista adicional entre la vista de celda y la vista de contenido:
[cell.contentView.superview setClipsToBounds:NO];
NSLog(@"%@", cell.contentView.superview);
NSLog(@"%@", cell.contentView.superview.superview);
NSLog(@"%@", cell);
if (self.view.clipsToBounds) {
NSLog(@"Master clips");
} else {
NSLog(@"Master no clip");
}
Cuando actualicé una aplicación mía de iOS6 a iOS7 noté que en iOS6 el contenido de las celdas podía cruzarse fuera de una celda cuando la propiedad clipsToBounds estaba establecida en NO en la vista de celdas o contentView, iOS7 parece deshabilitar esto incluso cuando la vista general, la vista de tabla, la celda y el contenido de la celda, los clips a límites se establecen como NO. Puedes ver una muestra de esto en las imágenes incluidas. El primero es el código de prueba que se ejecuta en iOS6, y el segundo es el mismo código que se ejecuta en iOS7:
¿Alguien sabe cómo solucionar este problema? Supongo que es solo una solución de una línea, pero he pasado varias horas en esto sin suerte. Para evitar una gran reescritura y dolores de cabeza, pero jugando con la vista, tableview, cell y cellcontent clipsToBounds ha sido infructuoso, todos están configurados en NO todavía en iOS7, por lo que no estoy seguro de lo que está sucediendo de manera diferente.
Puede ver y descargar el proyecto de muestra en: https://github.com/Jon-Schneider/ClipsToBoundsTest
¡Gracias!
Puede realizar cambios en el inspector de atributos de Tableview de las subvistas de clips.