2010-10-10 22 views
13

Note de la solution, pas une question.

J'ai utilisé ce code pour définir comme arrière-plan une image de motif:UIColor `-colorWithPatternImage:` solution de problème de mélange alpha. (iOS SDK 4.1)

UIImage *bg  = SomeImage(); 
UIColor *bgc = [UIColor colorWithPatternImage:bg]; 
[self setBackgroundColor:bgc]; 
[self setOpaque:NO]; 

Cela fonctionne, mais le mélange alpha ne fonctionne pas. Peut-être un bug. Comment le faire fonctionner?

  • Plate-forme: iOS SDK 4.1
+2

Ahh, votre génie! Je suis tellement content que tu aies posté cet Eonil. Elle m'a sauvé des heures de grattage de la tête et de gougeage des yeux. Peut-être mérite-t-il d'être mentionné: pour accéder et modifier les propriétés de la couche, il faut importer ''. –

Répondre

11

Ce code rendent alpha mixte sur les deux simulateur et l'appareil.

UIImage *bg  = SomeImage(); 
UIColor *bgc = [UIColor colorWithPatternImage:bg]; 
[self setBackgroundColor:bgc]; 
[self setOpaque:NO]; 
[[self layer] setOpaque:NO];  // Added this line. 
+1

Je n'ai pas eu à définir la couche opaque. Ça a bien marché sans ça. – Palimondo

+0

@Palimondo Donc, je peux supposer qu'il a été patché. Merci! – Eonil