web-dev-qa-db-fra.com

Comment créer un fond semi-transparent pour UIView?

Je crée un UIView contenant du texte couvrant partiellement un UIImageView. Je veux que l'utilisateur puisse lire le texte tout en conservant une perspective sur l'image en dessous. J'ai essayé de définir la couleur d'arrière-plan sur [UIColor clearColor], mais l'arrière-plan est alors totalement transparent et il est difficile de lire le texte en fonction des couleurs de l'image.

Si je baisse le view.alpha = 0.5 toute la vue, y compris le texte, est partiellement transparente. Ce que je voudrais, c'est maintenir le texte et réduire partiellement la transparence de l'arrière-plan, afin de permettre à l'image de transparaître.

12
ChrisP

Je pense que ce que vous voulez dire, c'est que vous voulez que la couleur de fond de votre UIView soit semi-transparente? Si vous voulez du blanc/transparent, utilisez ceci:

myView.backgroundColor = [UIColor colorWithWhite:myWhiteFloat alpha:myAlphaFloat];

sinon, si vous voulez une autre couleur, utilisez la méthode générale UIColor: +colorWithRed:green:blue:alpha:

28
Jesse Naugher

Pour ceux qui ont leur vue dans un storyboard ou un fichier .xib, il suffit de le faire dans le générateur d’interface en sélectionnant l’option "Effacer la couleur" pour l’arrière-plan de la vue dans le volet Utilitaires (le volet de droite). "Clear Color" donnera à la vue un fond complètement transparent.

See screenshot

Si vous avez besoin d’une couleur d’arrière-plan partiellement transparente, sélectionnez la couleur d’arrière-plan souhaitée à l’aide du sélecteur de couleur, puis utilisez le curseur Opacité situé en bas pour définir la transparence.

opacity slider to arrange transparency of the background colour of your view

34
Bocaxica

Cela fonctionnera.

myView.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.7f];
6
Devangi Desai

Finalement, vous avez déjà une couleur pour pouvoir utiliser .colorWithAlphaComponent comme ceci:

let exampleColor = UIColor.blackColor()
overlayView.backgroundColor = exampleColor.colorWithAlphaComponent(0.8)
2
Walter White

Pour Xamarin C #, le storyboard visuel n'a pas pour le moment le curseur "opacité" du storyboard Xcode mentionné par Bocaxica .

Si vous définissez BackgroundColor pour View nameOfView dans le storyboard, dans la variable ViewDidLoad de votre contrôleur de vue, ajoutez cette ligne pour définir alpha:

nameOfView.BackgroundColor = nameOfView.BackgroundColor.ColorWithAlpha( 0.7f );  // A value between 0 and 1.
0
ToolmakerSteve

Swift 3+

blanc semi transparent:

view.backgroundColor = UIColor(white: 1, alpha: 0.5)

ou noir semi transparent:

        view.backgroundColor = UIColor(red: 0, green: 0, blue: 0, alpha: 0.5)
0
Andrey

Je crois que vous devriez utiliser:

myView.alpha = myAlphaFloat;
myView.opaque = NO;
0
Dmitry Komin