Est-il un moyen de fixer une sorte de z-index pour la position en z de UIImageView objets?
Je suis en train de construire une grille d'images, et j'ai commencer par le haut, en créant UIImageView objets de tous sur la place. Maintenant, je veux qu'ils se chevauchent un peu, mais le dernier de ceux que je dessine sont celles qui sont le plus en haut. Je voudrais régler la position en z de la programmation, de sorte que le premier de ceux que je tirage au sort qui sera le plus en haut.
OriginalL'auteur Thanks | 2009-05-05
Vous devez vous connecter pour publier un commentaire.
Vous avez dit que vous avez utilisé UIImageView. Dessiner une image avec UIImageView signifie initialisation et puis l'ajouter à un conteneur en vue.
Ne pouvez pas vous suffit d'utiliser ce code dans votre boucle?
Le résultat serait que le point de vue ajout de la première est sur le haut de la pile de vues (je n'ai pas pu tester ce encore bien 🙂 )
Eh bien, ils ne peuvent pas car l'ajout d'un att indice 0 pour un exemple, les bosses de tous les autres dans la pile.
OriginalL'auteur ullmark
au lieu d'utiliser insertSubiew vous pouvez essayer:
OriginalL'auteur Patryk Peszko
https://stackoverflow.com/a/4631895/2482283
Vous pouvez utiliser le zPosition propriété de l'affichage de la couche (c'est un CALayer objet) pour modifier le z-index de la vue.
Comme Viktor Nordling ajouté, "les grandes valeurs sont sur le dessus. Vous pouvez utiliser toutes les valeurs que vous voulez, y compris les valeurs négatives." La valeur par défaut est 0.
Vous devez importer le QuartzCore cadre d'accéder à la couche. Il suffit d'ajouter cette ligne de code en haut de votre fichier de mise en oeuvre.
d'une autre façon(https://stackoverflow.com/a/4663526/2482283), vous pouvez également utiliser uiviews méthode:
OriginalL'auteur lbsweek
Pas directement.
Une solution serait de donner la UIViews une propriété z-index; un nombre entier de définir votre niveau de profondeur. Ensuite, vous pouvez itterate par le biais d'un NSArray (myArray) contenant le UIViews ajoutant des sous-vues dans l'ordre de profondeur.
OriginalL'auteur Kriem
J'ai eu le même problème. J'avais besoin de la sous-vue de l'élément avec le plus haut et le plus bas de z-index. De mon test, j'ai découvert que de UIKit organise les éléments dans le sous-vues-propriété en fonction de leur position en z. Si vous prenez
[self.scrollview subviews]
par exemple. Le premier élément du tableau est la sous-vue qui est à l'arrière. L'élément du tableau à l'indice le plus élevé est la sous-vue très à l'avant. Si vous utilisez
le tableau des sous-vues seront réorganisées en conséquence.
OriginalL'auteur Matt
Si vous avez la ref de la vue ci-dessous/ci-dessus, vous devez ajouter la sous-vue, vous pouvez utiliser les éléments suivants
OriginalL'auteur Pete
En fait, autant que je sache, il n'y a pas de z-index de la position de la propriété. Le dessin de la vue utilise un simple modèle de dessin.
Vous pouvez soit mettre votre logique dans le dessin de la boucle (j'.e dessiner les choses que vous voulez sur le dessus de la dernière) ou vous pouvez utiliser le Cacao Animation, car contrairement à UIImageView, CALayers avez la profondeur (ils sont d'une projection 2D de l'espace 3D). Voir ici pour une référence.
Oui, venez pour penser à elle, dans l'iPhone tous les points de vue sont couche soutenu. En creusant un peu, j'ai trouvé les méthodes suivantes dans UIImageView docs: – insertSubview:aboveSubview: – insertSubview:belowSubview:
OriginalL'auteur Hejazzman
Vous vraiment pouvez envisager d'utiliser CALayer au lieu de beaucoup de UIImageView Objets. UIImageView objets sont grands, mais pour un dessin CALayer sont un poids plus léger et plus efficace (mais si vous avez besoin d'un utilisateur d'interagir avec les images, un objet d'affichage est mieux). Cela dépend vraiment de ce que vous faites. CALayers ont un zPosition de la propriété. C'est ce que UIKit utilise lorsqu'il organise la UIView de la position dans la pile de vues.
OriginalL'auteur Jay
OriginalL'auteur Black Tiger