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

Установите альфа фона UIButton, но не заголовок

Когда я устанавливаю альфа кнопки, это также влияет на непрозрачность заголовка. Есть ли способ настроить таргетинг только на задний план и оставить заголовок alpha в 1.0?

4b9b3361

Ответ 1

Это работает для меня:

self.myButton.backgroundColor = [UIColor clearColor];

или если вы не хотите полностью очищать его, но с прозрачностью вы можете использовать:

self.myButton.backgroundColor = [UIColor colorWithRed:200.0/255.0 green:200.0/255.0 blue:200.0/255.0 alpha:0.5];

Второй пример даст вам серый цвет с альфа-0,5.

Ответ 2

Вы также можете изменить альфу цвета в раскадровке,

см. прикрепленное изображение:

изменить альфа цвета в раскадровке/построителе интерфейса

Ответ 3

В Swift:

import UIKit

class SignInUpMenuTableViewControllerBigButton: UIButton {

    required init(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        self.applyCustomDesign()
    }

    func applyCustomDesign() {
        // We set the background color of the UIButton.
        self.clearHighlighted()
    }

    override var highlighted: Bool {
        didSet {
            if highlighted {
                self.highlightBtn()
            } else {
                self.clearHighlighted()
            }
        }
    }

    func highlightBtn() {
        self.backgroundColor = UIColor.whiteColor().colorWithAlphaComponent(0.0)
    }

    func clearHighlighted() {
        self.backgroundColor = UIColor.whiteColor().colorWithAlphaComponent(0.05)
    }

}

Ответ 4

Подклассификация UIButton и расширение метода setEnabled: кажется, работает:

- (void) setEnabled:(BOOL)enabled {    
    [super setEnabled:enabled];
    if (enabled) {
        self.imageView.alpha = 1;
    } else {
        self.imageView.alpha = .25;
    }
}

Ответ 5

Вы используете простой фон для фона? Или вы используете изображение?

Если вы используете изображение, вы можете использовать изображение с встроенной альфой.

Если вы используете цвет, тогда вы можете установить альфа на цвет.

Однако изменение альфы любого представления влияет на все под-представления.

Ответ 6

С помощью UIButton вы можете удалить фон, установив стиль кнопки "Пользовательский", а не Round Rect. Это сохраняет название неповрежденным, но фон кнопки удаляется. Если вы делаете это в Storyboards, вы можете изменить стиль кнопки в свойствах элемента. Для кода формат:

UIButton *button = [[UIButton alloc] buttonWithType:UIButtonTypeCustom];
// Setup frame and add to view