highlight on press
This commit is contained in:
parent
2606ac47f8
commit
41af4f8c9d
|
@ -348,7 +348,7 @@ protocol MessageActionViewDelegate: class {
|
|||
func actionView(_ actionView: MessageActionView, didSelectAction action: MessageAction)
|
||||
}
|
||||
|
||||
class MessageActionView: UIView {
|
||||
class MessageActionView: UIButton {
|
||||
public weak var delegate: MessageActionViewDelegate?
|
||||
private let action: MessageAction
|
||||
|
||||
|
@ -363,20 +363,24 @@ class MessageActionView: UIView {
|
|||
let imageView = UIImageView(image: action.image)
|
||||
let imageWidth: CGFloat = 24
|
||||
imageView.autoSetDimensions(to: CGSize(width: imageWidth, height: imageWidth))
|
||||
imageView.isUserInteractionEnabled = false
|
||||
|
||||
let titleLabel = UILabel()
|
||||
titleLabel.font = UIFont.ows_dynamicTypeBody
|
||||
titleLabel.textColor = UIColor.ows_light90
|
||||
titleLabel.text = action.title
|
||||
titleLabel.isUserInteractionEnabled = false
|
||||
|
||||
let subtitleLabel = UILabel()
|
||||
subtitleLabel.font = UIFont.ows_dynamicTypeSubheadline
|
||||
subtitleLabel.textColor = UIColor.ows_light60
|
||||
subtitleLabel.text = action.subtitle
|
||||
subtitleLabel.isUserInteractionEnabled = false
|
||||
|
||||
let textColumn = UIStackView(arrangedSubviews: [titleLabel, subtitleLabel])
|
||||
textColumn.axis = .vertical
|
||||
textColumn.alignment = .leading
|
||||
textColumn.isUserInteractionEnabled = false
|
||||
|
||||
let contentRow = UIStackView(arrangedSubviews: [imageView, textColumn])
|
||||
contentRow.axis = .horizontal
|
||||
|
@ -384,22 +388,23 @@ class MessageActionView: UIView {
|
|||
contentRow.spacing = 12
|
||||
contentRow.isLayoutMarginsRelativeArrangement = true
|
||||
contentRow.layoutMargins = UIEdgeInsets(top: 7, left: 16, bottom: 7, right: 16)
|
||||
contentRow.isUserInteractionEnabled = false
|
||||
|
||||
self.addSubview(contentRow)
|
||||
contentRow.autoPinToSuperviewMargins()
|
||||
contentRow.autoSetDimension(.height, toSize: 56, relation: .greaterThanOrEqual)
|
||||
|
||||
// TODO better mimic button
|
||||
// - style with touch down
|
||||
// - slide from one to the next
|
||||
// - accessability hints
|
||||
// - UIControl?
|
||||
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(didPress))
|
||||
self.addGestureRecognizer(tapGesture)
|
||||
self.addTarget(self, action: #selector(didPress(sender:)), for: .touchUpInside)
|
||||
}
|
||||
|
||||
override var isHighlighted: Bool {
|
||||
didSet {
|
||||
self.backgroundColor = isHighlighted ? UIColor.ows_light10 : UIColor.white
|
||||
}
|
||||
}
|
||||
|
||||
@objc
|
||||
func didPress(event: Any) {
|
||||
func didPress(sender: Any) {
|
||||
Logger.debug("\(logTag) in \(#function)")
|
||||
self.delegate?.actionView(self, didSelectAction: action)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue