Я попытался использовать прозрачный png в качестве фона, но не успех. Как я могу это решить? ТГц.
Как сделать фон UIButton прозрачным?
Ответ 1
Для меня сработало изменение типа на пользовательский в окне инспектора (построитель интерфейсов).
Ответ 2
Чтобы создать прозрачную кнопку (без использования изображения):
- (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;
}
Ответ 3
Это тоже хорошо:
[button.layer setBackgroundColor:[UIColor colorWithWhite:0.0 alpha:0.5].CGColor];
Ответ 4
Сначала добавьте в проект рамки QuartzCore
Во-вторых, добавьте это в заголовок
#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];
Например, кнопка Red Gradient (смесь цвета)
[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];
Ответ 5
Без IB:
UIButton *b = [[UIButton buttonWithType:UIButtonTypeCustom] retain];
Ответ 6
Измените тип кнопки на пользовательский в IB - она по умолчанию установила фон в clearColor.
Если вы должны иметь закругленный прямоугольный UIButton, прежде чем он станет прозрачным, я предположил бы, что его цвет фона очистится, чтобы clearColor не помог. Тогда я бы предложил либо:
- Удалите его из представления и замените его другой кнопкой, которая имеет прозрачный фон, например.
UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(50, 50, 50, 50)]; [button setTitle:@"Title" forState:UIControlStateNormal];
- Не используйте яблоки UIButton, подкласс UIControl и рисуйте сами:)