Comment vérifier si une UIView est une sous-vue d'un parent de la vue
J'ai une application qui j'ai ajouter une sous-vue (et retirez le même sous-vue basé sur les interactions de l'utilisateur). Je suis à la recherche d'un moyen de vérifier si la sous-vue est présent ou pas à un moment donné.
Par exemple:
Dans la vue en cours (UIView *viewA
) j'ajoute une sous-vue (UIView *viewB
). Je veux un moyen de vérifier si viewB
est affichée à un moment donné.
Désolé si ce n'est pas très clair, il est assez difficile à décrire.
OriginalL'auteur The Crazy Chimp | 2011-10-16
Vous devez vous connecter pour publier un commentaire.
un
UIView
stocke ses superview et est accessible avec lesuperview
-propriété juste essayerMais la meilleure approche est d'utiliser la
hidden
-propriété deUIView
OriginalL'auteur thomas
Je suis passé par le même problème et l'a consulté La Documentation D'Apple et est venu avec cette solution élégante:
OriginalL'auteur Shinnyx
Voici une méthode que j'ai mis dans le appDelegate afin que je puisse afficher la totalité de la sous-vue de la hiérarchie à partir de n'importe quel point.
l'appeler avec une chaîne de caractères avec un caractère et il tiret pour vous. (c'est à dire
[appDelegate viewAllSubviews:self.view Indent:@" "];
)Je trouve ça utile pour effacer le volet de débogage d'abord, puis d'appeler ce à partir du débogueur, et le copier dans un éditeur de texte comme BBEdit qui montrera les tirets.
Vous pouvez appeler à l'aide de la mainWindow de vue et tout voir sur votre écran.
recursiveDescription
viapo [view recursiveDescription]
OriginalL'auteur Owen Hartnett
J'ai mis à jour à Swift4, Merci beaucoup à @Shinnyx et @thomas.
OriginalL'auteur dengApro