161 votes

iOS - transférez toutes les touches via une vue

J’ai une vue superposée à beaucoup d’autres vues. Je n’utilise l’overaly que pour détecter un certain nombre de touches sur l’écran, mais à part cela, je ne veux pas que la vue arrête le comportement des autres vues en dessous, qui sont des vues de défilement, etc. Comment puis-je transférer toutes les touches à travers cette vue de superposition ? Il s’agit d’une sous-classe de UIView.

138voto

rmp251 Points 186

Désactiver l’interaction de l’utilisateur était tout ce dont j’avais besoin!

Objectif C :

Rapide:

129voto

PixelCloudSt Points 683

Pour passer des touches d’une vue de superposition aux vues ci-dessous, implémentez la méthode suivante dans UIView :

Objectif C :

Swift 5 :

61voto

fresidue Points 122

C’est un vieux fil de discussion, mais il est apparu lors d’une recherche, alors j’ai pensé que j’ajouterais mon 2c. J’ai une couverture avec des `` sous-vues, et je ne veux intercepter que les touches qui frappent l’une des sous-vues, alors j’ai modifié la réponse de PixelCloudSt à:

11voto

gorkem Points 190

J’avais besoin de passer des touches via un UIStackView. Un UIView à l’intérieur était transparent, mais l’UIStackView consommait toutes les touches. Cela a fonctionné pour moi:

Tous les sous-points de vue arrangés reçoivent toujours des touches, mais les touches sur l’UIStackView lui-même sont passées par la vue ci-dessous (pour moi un mapView).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X