// // Copyright (c) 2019 Open Whisper Systems. All rights reserved. // import UIKit @objc public class OWSButton: UIButton { @objc var block: () -> Void = { } // MARK: - @objc public init(block: @escaping () -> Void = { }) { super.init(frame: .zero) self.block = block addTarget(self, action: #selector(didTap), for: .touchUpInside) } @objc public init(title: String, block: @escaping () -> Void = { }) { super.init(frame: .zero) self.block = block addTarget(self, action: #selector(didTap), for: .touchUpInside) setTitle(title, for: .normal) } @objc public init(imageName: String, tintColor: UIColor?, block: @escaping () -> Void = { }) { super.init(frame: .zero) self.block = block addTarget(self, action: #selector(didTap), for: .touchUpInside) setImage(imageName: imageName) self.tintColor = tintColor } @objc public func setImage(imageName: String) { if let image = UIImage(named: imageName) { setImage(image.withRenderingMode(.alwaysTemplate), for: .normal) } else { owsFailDebug("Missing asset: \(imageName)") } } public required init?(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") } // MARK: - @objc func didTap() { block() } }