UIView ocultar las vistas de los niños cuando están fuera de los límites


Tengo una vista, digamos 100x100. Y tiene un conjunto de uiviews como subviews: digamos 30x30

Si un subview tiene la coordenada superior izquierda: (90,90)-espero ver solo una parte de este subview. Pero todavía veo toda el área, incluso si está fuera de los límites de los padres

La pregunta es ¿cómo hacer que uiview muestre solo aquellas partes de subview, que están en los límites originales?

Gracias

Author: user349302, 2011-03-24

4 answers

Establece la propiedad clipsToBounds de view en YES.

Programáticamente: view.clipsToBounds=YES;

A través de interface builder: Click the view->Attributes Inspector->Check Clip subviews

 134
Author: Vladimir,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-01-19 17:56:44

Creo que desea habilitar "clip subviews" en la vista padre.

 8
Author: jd.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-03-24 17:53:53

La documentación dice que la propiedad clipsToBounds de UIView recortará el dibujo a los límites, o más precisamente que el subview no puede dibujar fuera de los límites del superview.

Para más leer el post SO

Propiedad UIView clipsToBounds: ¿Mejora el rendimiento?

 6
Author: Jhaliya,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 11:54:28

De hecho, desde el guion gráfico, marque la casilla de verificación "Subviews de clip" de la vista principal de UIView. Así es como funcionó para mí.

 3
Author: Maria Stoica,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-10-10 15:39:16