2010-10-03 7 views
0

J'ai une classe basée sur UIImageView.iphone - Ombre de classe UIImageView

Au début de ce cours, j'ai ceci.

if ([super initWithFrame:frame] == nil) { 
     return nil; 
    } 


    self.layer.cornerRadius = 6.0; 
    self.layer.masksToBounds = YES; 
    self.layer.shadowOffset = CGSizeMake(3,3); 
    self.layer.shadowOpacity = 0.7f; 
    self.layer.shadowRadius = 5.0; 

    // bla bla 

Malgré l'ombre y être déclarée, tous les objets créés avec cette classe en utilisant initWithFrame, ne montrent aucune ombre.

Ai-je raté quelque chose?

grâce

+1

Est-ce que votre angle est arrondi? – vodkhang

+0

ahhhhhhhhhhhhhhhh .... merci! votre question m'a fait réfléchir à ce sujet et le problème était le maskToBounds = YES ... apparemment, l'ombre disparaîtra si elle est allumée. Merci – SpaceDog

Répondre

1

Je cernées sur la base de Commend vodkhang.

Le problème est

self.layer.masksToBounds = YES; 

Je suppose que les clips de masque l'ombre.

0

Ajoutez simplement un CALayer sous l'image avec une ombre. L'image avec un masksToBounds de YES et la couche d'ombre NO.

Questions connexes