2016-09-29 6 views
0

У меня есть следующий код:UIButton не собирается менять цвет текста, когда долго-пресс жеста распознаватель

deleteAllButton.setTitle("Delete", forState: .Normal) 
     deleteAllButton.titleLabel?.numberOfLines = 2 
     deleteAllButton.setTitleColor(UIColor.blackColor(), forState: .Normal) 
     deleteAllButton.titleLabel?.font = UIFont.systemFontOfSize(keyboardFontSize) 
    // deleteAllButton.addTarget(self, action: #selector(deletekeyPressed), forControlEvents: .TouchUpInside) 

     let deleteLPGR = UILongPressGestureRecognizer(target: self, action: #selector(deleteButtonLongPress)) 
     deleteLPGR.minimumPressDuration = 0 
     deleteLPGR.delaysTouchesBegan = true 

     deleteAllButton.addGestureRecognizer(deleteLPGR) 

Обычно, когда UIButton нажатие текста автоматически меняет цвет, чтобы указать, что в «прессованный» государство. Однако, поскольку я добавил длинный распознаватель жестов нажатия, кнопка не указывает, что она находится в «нажатом» состоянии.

Как я могу позволить сенсорному событию перейти к кнопке, чтобы пользователь чувствовал, что кнопка нажата «нажата»?

ответ

0

Думаю, вам не нужно добавлять распознаватель жестов.

просто попытаться установить titlecolor для государственных highlited и он должен работать

deleteAllButton.setTitleColor(UIColor.redColor(), forState: .Highlighted) 

надеюсь, что это будет исправить вашу проблему.

0

Просто измените deleteLPGR.minimumPressDuration = 0 на deleteLPGR.minimumPressDuration = 1 затем вы можете заметить изменение цвета при нажатии