55 votes

Un UILabel à 100% d'opacité sur un fond à 50% d'opacité (UIView ?)

En ce moment, j'ai un UIView avec un UILabel à l'intérieur. Je veux que l'arrière-plan ait une opacité < 1.0 et que l'étiquette ait une opacité de 1.0. Cependant, étant donné que les alphas se propagent dans la hiérarchie des vues, l'étiquette finit par avoir une opacité < 1,0 également.

Existe-t-il un moyen de faire ce que je veux sans faire de l'UILabel une sous-vue d'une autre vue ?

206voto

Ian Henry Points 9239

Il suffit de définir la couleur de fond pour qu'elle soit semi-transparente :

view.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.5f];

13voto

Jack Points 88446

En plus d'être disponible en code, vous pouvez le faire assez facilement à partir d'iB également :

  1. Dans le storyboard, sélectionnez la vue que vous souhaitez modifier ;
  2. Dans le panneau de droite, assurez-vous que l'inspecteur des attributs est ouvert ;
  3. Cliquez sur le côté droit de la liste déroulante "Arrière-plan" et choisissez "Autre ..." ; cela ouvrira une boîte de dialogue de sélection des couleurs ;
  4. Modifiez l'"Opacité" en bas pour définir l'opacité de la couleur de fond.

0voto

Colin Gislason Points 3546

Vous pouvez définir la couleur de fond de l'écran UIView avec une couleur semi-transparente ou rendre l'image elle-même semi-transparente. De cette façon, c'est une propriété de la vue qui est transparente, et non la vue elle-même.

-5voto

amedc111 Points 3

Vous pouvez utiliser ceci :

self.view.layer.opacity=0.5

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X