给一个很全的网址: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?) 方法。
解决:在sb里面绑定。
争取少犯低级错误,自省。