web-dev-qa-db-fra.com

UIView masquer les vues des enfants en dehors des limites

J'ai une vue, disons 100x100. Et il a défini des uiviews comme sous-vues: disons 30x30

Si une sous-vue a une coordonnée en haut à gauche: (90,90) - Je m'attends à ne voir qu'une partie de cette sous-vue. Mais je vois toujours toute la zone - même si elle est hors des limites des parents

La question est de savoir comment faire uiview pour afficher uniquement les parties de sous-vue, qui sont dans les limites d'origine?

merci

63
user349302

Définissez la propriété clipsToBounds de la vue sur YES.

Par programme: view.clipsToBounds=YES;

Via le constructeur d'interface: Click the view->Attributes Inspector->Check Clip subviews

140
Vladimir

Je pense que vous souhaitez activer les "sous-vues de clip" sur la vue parent.

8
jd.

La documentation indique que la propriété clipsToBounds de UIView fixera le dessin aux limites, ou plus précisément que la sous-vue ne peut pas dessiner en dehors des limites de la vue d'ensemble.

pour en savoir plus, lisez le SO post

propriété UIView clipsToBounds: améliore-t-elle les performances?

6
Jhaliya

En effet, dans le storyboard, cochez la case "Clip Subviews" de l'UIView parent. Voilà comment cela a fonctionné pour moi.

3
Maria Stoica