Я знаю, что есть много ответов, связанных с этой темой, но я пробую все и просто не понимаю, что происходит в коде. Я просто добавляю кнопку в верхнюю панель и пытаюсь нажать, но нет триггера анимации.UIButton не подсвечивается при нажатии
Смотреть это видео: http://sendvid.com/35e7za0p
Вот мой код
if rightFisrtBtn != nil {
btnfirst = UIButton(type: UIButtonType.custom)
btnfirst.tag = tagTopBar.btnfirst.rawValue
btnfirst.translatesAutoresizingMaskIntoConstraints = false
btnfirst.imageView?.contentMode = UIViewContentMode.scaleAspectFill
btnfirst.titleLabel?.font = fontWithSize
if rightFisrtBtn! is String {
btnfirst.setTitle(rightFisrtBtn as? String, for: .normal)
btnfirst.setTitleColor(UIColor.black, for: .normal)
btnfirst.setTitleColor(UIColor.white, for: .highlighted)
topView.addSubview(btnfirst)
topView.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "H:[btnfirst(width)]-[btnSecond]", options: [], metrics: ["width":btnfirst.intrinsicContentSize.width + 10.0], views: ["btnfirst":btnfirst,"btnSecond":btnSecond]))
topView.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "V:|-(25.0)-[btnfirst]-(gap)-|", options: [], metrics: ["gap":10.0], views: ["btnfirst":btnfirst]))
} else if rightFisrtBtn! is UIImage {
btnfirst.setImage(rightFisrtBtn as? UIImage, for: .normal)
btnfirst.contentHorizontalAlignment = UIControlContentHorizontalAlignment.center
topView.addSubview(btnfirst)
topView.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "H:[btnfirst(width)]-[btnSecond]", options: [], metrics: ["width":btnfirst.imageView?.image?.size], views: ["btnfirst":btnfirst,"btnSecond":btnSecond]))
topView.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "V:|-(25.0)-[btnfirst]-(gap)-|", options: [], metrics: ["gap":5.0], views: ["btnfirst":btnfirst]))
}
btnfirst.addTarget(self, action: #selector(self.btnTopbarFilter_Clicked(_:)), for: .touchUpInside)
}
Используйте ** btnfirst.showsTouchWhenHighlighted = true ** для выделения касания. –
@RamkrishnaSharma спасибо за ответ, но мне нужно по умолчанию выбранное событие, которое появляется, когда есть изображение не TouchWhenHighlighted –
«Я просто добавляю кнопку в верхнюю панель» Это не имеет смысла. Вы не можете поместить UIButton прямо в верхнюю панель. И я не вижу никакого кода, где вы делаете что-либо с помощью 'btnfirst'. Покажите, как он попадает в интерфейс, пожалуйста. – matt