UIView alpha contre UIColor alpha
Je voudrais savoir la différence entre:
- Affectation de mon UIView une couleur avec <1 alpha vs
- Attribution d'un non-transparente de couleur mais en donnant la UIView a <1 la valeur alpha.
Sur la capture d'écran j'en ai fait deux UIViews avec deux noir (alpha = 1.0) UILabels sur le dessus de chaque:
Assumer une macro _RGB est défini avant:
#define _RGB(r,g,b,a) [UIColor colorWithRed:r/255.0 green:g/255.0 blue:b/255.0 alpha:a]
et puis voici le code::
[_view1 setBackgroundColor:_RGB(255, 0, 0, 1)];
[_view1 setAlpha:0.5];
[_view2 setBackgroundColor:_RGB(255, 0, 0, 0.5)];
[_view2 setAlpha:1];
[_view3 setBackgroundColor:_RGB(255, 0, 0, 1)];
[_view3 setAlpha:1];
Je ne peux voir qu'une différence visuellement: un Changement de vue propre de l'alpha au lieu de bg de la couleur, affecte les sous-vues. Mais d'autres que c'est là toute la différence dans les fonctionnalités que je dois prendre en compte? (eg. Sur les animations, les couches, etc.)
source d'informationauteur Yunus Nedim Mehel
Vous devez vous connecter pour publier un commentaire.
La différence est là:
Donc dans votre exemple:
_view1
(alpha <1): alpha est également appliqué à la sous-vue UILabel_view2
(alpha <1 sur la couleur d'arrière-plan): sous-vue UILabel est bien opaque_view3
(defualt alpha 1 sur les deux): bien, nous voyons tous 🙂 la couleur de fond et l'étiquette sont à la fois opaqueExemple d'utilisation de deux:
Image de gauche: Vous avez une semi-transparent noir revêtement, ce qui a une sous-vue
UIImageView
contenant un blanc icône de coche et que vous voulez généralement l'icône pour être totalement opaques (non transparent). Si vous définissez simplement la couleur d'arrière-plan noir avec alpha <1 (0.75 f dans l'exemple).En s'opposant à:
Image de droite: Vous avez une semi-transparent noir revêtement, ce qui a une sous-vue
UIImageView
contenant un modèle blanc de l'image (le motif est blanc opaque, aucun alpha). Et vous voulez que le modèle de superposition d'être semi-transparent. Ensuite, vous définissez la couleur de fond noir avec alpha 1 (opaque) et alpha <1 pour l'ensemble de la vue.Comme vous pouvez le voir, cette icône à gauche de l'image est totalement opaque, mais sur la droite, vous pouvez voir également par le biais d'un motif étoiles.