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

Как удалить выбранный фоновый цвет UIButton?

Я ищу решение этой проблемы, которая НЕ требует использования изображений /PNG. Я ищу способ удалить синий цвет фона UIButton, когда он находится в выбранном состоянии, и я просто не могу найти способ сделать это без использования изображений. В основном я пытаюсь сделать что-то подобное в случае UITableViewCell:

   cell.selectionStyle = UITableViewCellSelectionStyleNone;
4b9b3361

Ответ 1

К сожалению, я сейчас не в машине, но есть две вещи, которые вы могли бы попробовать.

Сначала нужно установить следующее свойство:

button.adjustsImageWhenHighlighted = NO;

Или снимите флажок "Выделение подстроки изображения" в Interface Builder.

Если это не работает, как вы ожидаете, вы можете отменить выбор кнопки в действии, к которому вы привязали ее, например:

- (IBAction)yourButtonAction:(id)sender {
    [sender setHighlighted:NO];
}

Ответ 2

У меня была эта же проблема, и я разрешил ее, изменив тип UIButton с "System" на "Custom". Голубой цвет фона не отображается в выбранном состоянии, когда он является "Пользовательским".

Ответ 3

Измените альфа цвета tintColor на ноль, работает, если iOS 5.0 или новее

UIColor *color = [[UIColor alloc] initWithRed:0.0 green:0.0 blue:0.0 alpha:0.0];  
button.tintColor = color;

Ответ 4

Очень просто, в storyBoard выберите UIButton и откройте attribute inspector. Теперь прокрутите вниз до раздела View и измените свойство Tint на Clear Color или любой другой цвет, если хотите.

enter image description here

Ответ 5

UIButton также с типом custom, мы можем установить его в xcode as-

введите описание изображения здесь

ИЛИ Программно как -

 let customButton = UIButton(type: .custom) 
  customButton.setTitle("this is Button", for: .normal)
  customButton.setTitleColor(UIColor.blue, for: .normal)
  customButton.frame = CGRect(x: 15, y: 50, width: 300, height: 500)
            self.view.addSubview( customButton)

Теперь больше нет цвета голубого цвета UIButton

Ответ 6

Что для меня изменило кнопку button.tintColor в выделенном состоянии. Это быстро 3, iOS 10

override public var isHighlighted: Bool {
    didSet {
        self.tintColor = UIColor(red: 255/255, green: 255/255, blue: 255/255, alpha: 1.0)
    }
}

Или вы можете сделать то же самое в построителе интерфейса

Выберите состояние кнопки

Выберите цвет оттенка кнопки

Ответ 7

Быстрая версия

extension UIButton {
    override public var highlighted: Bool {
        didSet {
            // clear background color when selected
            self.layer.backgroundColor = .None
        }
    }
}

Ответ 8

Не прямой ответ на вопрос OP, но чтобы удалить этот цвет в подклассе UIButton вы можете сделать это:

override func layoutSubviews() {
    tintColor = .clear
    super.layoutSubviews()
}

Ответ 9

Использование...

    [myButton setAdjustsImageWhenHighlighted:FALSE];

Ответ 10

Не уверен, что это лучший способ. Но у вас может быть невидимая кнопка или просмотр на текущей кнопке, а затем распознается, когда нажата верхняя кнопка/вид.