Comment ajouter une ombre portée à une UIButton?
Je voudrais ajouter une ombre portée à une UIButton. J'ai essayé d'utiliser l'auto.la couche.de l'ombre* propriétés. Ces propriétés travail dans UIView, mais ils se comportent différemment dans UIButton. Je voudrais vraiment l'apprécier si je pouvais obtenir tous les pointeurs à dessiner l'ombre portée. Merci!!!!
self.layer.cornerRadius = 8.0f;
self.layer.masksToBounds = YES;
self.layer.borderWidth = 1.0f;
self.layer.shadowColor = [UIColor greenColor].CGColor;
self.layer.shadowOpacity = 0.8;
self.layer.shadowRadius = 12;
self.layer.shadowOffset = CGSizeMake(12.0f, 12.0f);
- Le Noyau Guide d'Animation, developer.apple.com/mac/library/documentation/cocoa/conceptual/..., dit: iPhone OS Note: Comme un facteur de performance, iPhone OS ne prend pas en charge la shadowColor, shadowOffset, shadowOpacity, et shadowRadius propriétés. Dang.
- Cette liste de propriétés sont maintenant pris en charge depuis iOS 3.2. En ce qui concerne,
Vous devez vous connecter pour publier un commentaire.
Il y a seulement une minuscule erreur dans la question qui provoque l'ombre pour ne pas être affichés:
masksToBounds:YES
aussi des masques à l'ombre! Voici le bon code:Malheureusement, cela signifie que nous ne masque le contenu et ont une ombre en même temps sans astuces.
N'oubliez pas de
#import <QuartzCore/QuartzCore.h>
.Voici une solution facile si vous utilisez un
UIButton
:Il suffit de travailler, et pensé que c'était la peine de poster. Espérons que ça Aide!
Ici est une sous-classe qui ne crée pas seulement l'ombre portée, mais le bouton anime vers le bas quand vous appuyez sur elle.
Vous pouvez créer une sous-classe et de configurer ses valeurs dans Xcode
Ci-dessous est un exemple:
Vous pouvez sous-classe UIButton et remplacer le drawRect: méthode et ajouter manuellement une ombre portée. C'est beaucoup plus de travail, et vous devriez maintenant quelques choses à propos de quartz 2d, mais le résultat est exactement ce que vous voulez.
Sinon vous pouvez simplement ajouter une image, mais je visez plutôt à la sous-classe UIButton, car il est très flexible en ce qui concerne la taille du bouton, c'est plus général.