扩大button的点击范围(Swift 4.0)

给一个很全的网址:https://code.i-harness.com/ko/q/c563

一、实现方法很多,这里给出一种:
自己写一个button的子类,然后重写以下方法:

class XXButton: UIButton {
    override func point(inside point: CGPoint, with event: UIEvent?) -> Bool {
        let margin: CGFloat = 5
        let area = self.bounds.insetBy(dx: -margin, dy: -margin) //负值是方法响应范围
        return area.contains(point)
    }
}

二、我遇到的问题(保不准有人会和我犯一样的低级错误)
问题:从sb里面创建的button,在拖拽出来的线中修改成自己的XXButton,就算点击到button也不回响应hitTest和point(inside point: CGPoint, with event: UIEvent?) 方法。


image.png

解决:在sb里面绑定。


扩大button的点击范围(Swift 4.0)_第1张图片
image.png

争取少犯低级错误,自省。

你可能感兴趣的:(扩大button的点击范围(Swift 4.0))