mirror of https://github.com/oxen-io/session-ios
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
836 B
Swift
30 lines
836 B
Swift
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
|
|
|
|
import UIKit
|
|
|
|
public class TappableView: UIView {
|
|
let actionBlock : (() -> Void)
|
|
|
|
// MARK: - Initializers
|
|
|
|
@available(*, unavailable, message: "use other constructor instead.")
|
|
public required init?(coder aDecoder: NSCoder) {
|
|
fatalError("init(coder:) has not been implemented")
|
|
}
|
|
|
|
public required init(actionBlock : @escaping () -> Void) {
|
|
self.actionBlock = actionBlock
|
|
super.init(frame: CGRect.zero)
|
|
|
|
self.isUserInteractionEnabled = true
|
|
self.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(wasTapped)))
|
|
}
|
|
|
|
@objc func wasTapped(sender: UIGestureRecognizer) {
|
|
guard sender.state == .recognized else {
|
|
return
|
|
}
|
|
actionBlock()
|
|
}
|
|
}
|