Подтвердить что ты не робот

Как сделать фон UIButton прозрачным?

Я попытался использовать прозрачный png в качестве фона, но не успех. Как я могу это решить? ТГц.

4b9b3361

Ответ 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 и рисуйте сами:)