J'ai essayé d'utiliser un PNG transparent comme fond, mais pas le succès. Comment puis-je le résoudre ? Thz.
Changer le type à la coutume dans la fenêtre de l'inspecteur (Builder d'interface) a fonctionné pour moi.
Pour créer un bouton transparent (sans utiliser d'image):
- (void)viewDidLoad
{
[super viewDidLoad];
CALayer *layer = <your button>.layer;
layer.backgroundColor = [[UIColor clearColor] CGColor];
layer.borderColor = [[UIColor darkGrayColor] CGColor];
layer.cornerRadius = 8.0f;
layer.borderWidth = 1.0f;
}
C'est un bon aussi:
[button.layer setBackgroundColor:[UIColor colorWithWhite:0.0 alpha:0.5].CGColor];
d'abord, ajouter un cadre QuartzCore dans votre projet
Deuxièmement, ajoutez ceci à l'en-tête
#import <QuartzCore/QuartzCore.h>
CAGradientLayer *gradientLayer = [CAGradientLayer layer];
UIButton *aButton = [UIButton buttonWithType:UIButtonTypeCustom];
[aButton setFrame:CGRectMake(0, 0, 75, 37)];
[gradientLayer setFrame:aButton.frame];
[aButton.layer addSublayer:gradientLayer];
par exemple, bouton de gradient rouge (mélange de couleur
[gradientLayer setColors:[NSArray arrayWithObjects:(id)[UIColor colorWithRed:0.841 green:0.566 blue:0.566 alpha:1.0].CGColor, (id)[UIColor colorWithRed:0.75 green:0.341 blue:0.345 alpha:1.0].CGColor, (id)[UIColor colorWithRed:0.592 green:0.0 blue:0.0 alpha:1.0].CGColor, (id)[UIColor colorWithRed:0.592 green:0.0 blue:0.0 alpha:1.0].CGColor, nil]];
[aButton addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
Sans IB:
UIButton *b = [[UIButton buttonWithType:UIButtonTypeCustom] retain];
Changez le type de bouton sur la personnalisation de IB - il a défini par défaut l'arrière-plan sur le ClearColor.
Si vous devez avoir le rectostéron arrondi avant son antécédent est transparent, je suppose que je suppose que la couleur de fond est ClearColor ne vous aidera pas. Alors je suggérerais non plus:
UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(50, 50, 50, 50)];
[button setTitle:@"Title" forState:UIControlStateNormal];