If you use the UIImageView button as a button, you can use the following extension (Swift 3.0):
extension UIImageView { open override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? { if self.isHidden || !self.isUserInteractionEnabled || self.alpha < 0.01 { return nil } let minimumHitArea = CGSize(width: 50, height: 50) let buttonSize = self.bounds.size let widthToAdd = max(minimumHitArea.width - buttonSize.width, 0) let heightToAdd = max(minimumHitArea.height - buttonSize.height, 0) let largerFrame = self.bounds.insetBy(dx: -widthToAdd / 2, dy: -heightToAdd / 2) // perform hit test on larger frame return (largerFrame.contains(point)) ? self : nil } }
Similar to the UIButton extension here
Sir codesalot
source share