I have an app with many different buttons arranged in a calculator like, square / rectangular format. It is actually extremely similar to the default iOS calculator. There a
Swift 3 Solution
extension UIControl { open override func point(inside point: CGPoint, with event: UIEvent?) -> Bool { let inside = super.point(inside: point, with: event) if inside != isHighlighted && event?.type == .touches { isHighlighted = inside } return inside } }