UIToolBar avec la réduction de l'alpha, voulez UIBarButtonItem alpha 1
J'ai un UIToolbar avec l'alpha défini .6. Ressemble beaucoup - mais il laisse les boutons avec un alpha de .6 ainsi, ce qui est correct mais pas vraiment souhaitable. Est-il un moyen de définir indépendamment de l'alpha d'un UIBarButtonItem? Comment aurais-je obtenir ces pour look blanc au lieu de légèrement grisé?
InformationsquelleAutor Chris Roberts | 2011-02-14
Vous devez vous connecter pour publier un commentaire.
Lorsque vous définissez l'alpha sur une vue, toutes les sous-vues sont combinés avec la même valeur alpha. Ce que vous pouvez faire au lieu de définir l'alpha sur la vue elle-même, est d'utiliser une couleur de teinte ou couleur d'arrière-plan avec une valeur alpha. Cela peut produire des effets similaires, sans causer de tous les sous-vues pour hériter de la transparence.
Si cela ne fonctionne pas et que vous avez réellement besoin de faire de la vue elle-même transparente, vous devrez retravailler votre point de vue de la hiérarchie, de sorte que l'opacité des points de vue ne sont pas des sous-vues. Depuis le bouton de la barre d'éléments ne sont pas disponibles en standard vues, sa ne va probablement pas être réalisable dans le cas de la barre d'outils.
Afficher une opacité de 1 et de ces paramètres a fait pour moi.
Ci-dessus n'a pas fonctionné pour moi sous iOS 4.3, mais ce n':
Sous-classe UIToolbar, fournir une méthode:
J'ai trouvé que barStyle ne'n vraiment de l'importance. Il n'est ni réglage de la couleur d'arrière-plan clair.
De ces lignes fait le travail pour moi(ios4.3).
Que je peux comprendre, réglage des barres d'outils transfluent bien OUI vous avez réglage d'être clair(transparent) arrière-plan. Bien sûr, il dépend de la teinte de la couleur que vous avez choisi. Si il ne contient pas de composant alpha, la barre va être opaque.
Le principal problème avec le contrôle de la valeur alpha de la barre d'outils, c'est qu'il s'applique à l'ensemble de la barre d'outils et ses boutons. Si vous définissez un
backgroundColor
avec une certaine valeur alpha < 1, la couleur obtenue est combiné avec labarStyle
(UIBarStyleDefault ou UIBarStyleBlack) ce qui résulte en une plus opaque de couleur que l'originalbackgroundColor
. Si vous définissez labarTintColor
, il semble à remplacer tous les autres paramètres, y compris les versions alpha de la valeur que vous avez définie, résultant en un complètement opaque.La seule façon que j'ai été capable de faire réduire l'alpha de la barre d'outils sans affecter ses boutons est par réglage de son image d'arrière-plan à l'aide de
setBackgroundImage:forToolbarPosition:barMetrics:
. Vous pouvez créer un 1px par 1px image avec la couleur souhaitée et alpha:[Swift version]
Ensuite définir l'Image d'arrière-plan:
Après de nombreuses heures à l'évaluation de chacune des méthodes ci-dessus, j'ai trouvé que la méthode fournie par Ryan H. est faisable. C'est parce que c'est la méthode que vous pouvez manipuler la valeur alpha, tandis que d'autres ne le peuvent pas.
Ici est la version de Swift 3: