2014-12-14 4 views
7

Я знаю, что мой случай может быть редким, но как вы отключите цвет оттенков UIButton в этом случае?Как отключить цвет оттенков UIButton?

У меня есть настраиваемая UIButton, которая приписала Title, чтобы отображать шаблон кнопки в разных цветах и ​​альфа.

enter image description here

В моем настроенного файла кнопку .m я поставил что-то вроде этого

[self setBackgroundImage:[self imageWithColor:[UIColor grayColor]] forState:UIControlStateSelected]; 

который сделает цвет фона серый цвет, когда кнопка выбрана

Однако реальный результат выглядит следующим образом:

enter image description here

Некоторые, как цвет текста превращается в белый, который, я думаю, обусловлен эффектом оттенка на UIButtons.

Возможно ли, чтобы у меня был серый фон, в то время как текст по-прежнему остается цветом, указанным в атрибутном названии в выбранном состоянии кнопки?

Благодаря

+5

Вместо присвоенного заголовка вы должны установить цвет текста как для нормального, так и для выбранного состояний. – rmaddy

+0

setbackground цвет для кнопки. –

ответ

24
yourbutton = [UIButton buttonWithType:UIButtonTypeCustom]; 

         (or) 

Если у кнопки размещены в раскадровке .... Выберите тип кнопки в качестве обычая, а не системы.

+1

Это замечательный помощник !!!! Работает как чемпион! – TypingPanda

0

Выполните эти шаги, чтобы получить результат:

  • Сначала установите UITabBar цвет фона, чтобы очистить
  • Теперь поместите эту строку в метод viewDidLoad первой страницы:

    [[UITabBar appearance] setTintColor:SETYOURCOLOR];

Надеюсь, это поможет вам.

1

Вы можете переопределить setImage:forState: в подклассе UIButton и изменить режим рендеринга до .alwaysOriginal.

override func setImage(_ image: UIImage?, for state: UIControlState) { 
    let newImage = image?.withRenderingMode(.alwaysOriginal) 
    super.setImage(newImage, for: state) 
} 
Смежные вопросы