2016-12-23 5 views
0

Если выбран мой UIButton:Странный tintColor на выбранный UIButton

 let image = UIImage(named: "photo-camera")?.imageWithRenderingMode(.AlwaysTemplate) 
    btnPhoto.setImage(image, forState: .Normal) 
    btnPhoto.tintColor = UIColor.orange() 

Если мой UIButton является не выбран:

let image = UIImage(named: "photo-camera")?.imageWithRenderingMode(.AlwaysTemplate) 
    btnPhoto.setImage(image, forState: .Normal) 
    btnPhoto.tintColor = UIColor.grayColor() 

Теперь мой вопрос: когда UIButton не выбран все отображается нормально: enter image description here Вместо этого, когда выбран UIButton, который является результатом: enter image description here

Цвет оттенка не меняет изображение, а фон. Я не понимаю, почему.

+0

Вы хотите изменить цвет вашего логотипа, когда он выбран? –

+0

Да только логотип –

+0

Вы можете добавить изображение над своей кнопкой. – Khuong

ответ

0

Просто установите изображение для выбранного состояния и установите цвет оттенка для очистки.

0

Возьмите btnPhoto с типом обычая

let btnPhoto = UIButton(type: .Custom) 
let image = UIImage(named: "image_name")?.imageWithRenderingMode(.AlwaysTemplate) 
btnPhoto.setImage(image, forState: .Normal) 
btnPhoto.tintColor = UIColor.grayColor() 

btnPhoto.addTarget(self, action: “btntSelected:", forControlEvents: .TouchUpInside) 

func btnSelected(sender : UIButton) 
{ 
var btn:UIButton = sender 
btn.tintColor = UIColor.orange() 
} 
Смежные вопросы