給一個(gè)很全的網(wǎng)址:https://code.i-harness.com/ko/q/c563
一贩幻、實(shí)現(xiàn)方法很多,這里給出一種:
自己寫一個(gè)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) //負(fù)值是方法響應(yīng)范圍
return area.contains(point)
}
}
二当编、我遇到的問題(保不準(zhǔn)有人會(huì)和我犯一樣的低級(jí)錯(cuò)誤)
問題:從sb里面創(chuàng)建的button,在拖拽出來的線中修改成自己的XXButton徒溪,就算點(diǎn)擊到button也不回響應(yīng)hitTest和point(inside point: CGPoint, with event: UIEvent?) 方法忿偷。
image.png
解決:在sb里面綁定金顿。
image.png
爭(zhēng)取少犯低級(jí)錯(cuò)誤,自省鲤桥。