Swift 扩大按钮的点击区域

有时间多更新几种

方法一

var expandSizeKey = "expandSizeKey"
/// Expand click range
/// - Parameter size: size
open func kExpandSize(size:CGFloat) {
     objc_setAssociatedObject(self, &expandSizeKey,size, objc_AssociationPolicy.OBJC_ASSOCIATION_COPY)
}
        
func expandRect() -> CGRect {
     let expandSize = objc_getAssociatedObject(self, &expandSizeKey)
     if (expandSize != nil) {
          return CGRect(x: bounds.origin.x - (expandSize as! CGFloat), y: bounds.origin.y - (expandSize as! CGFloat), width: bounds.size.width + 2*(expandSize as! CGFloat), height: bounds.size.height + 2*(expandSize as! CGFloat))
     }
     return bounds;
}
    
open override func point(inside point: CGPoint, with event: UIEvent?) -> Bool {
     let buttonRect = expandRect()
     if (buttonRect.equalTo(bounds)) {
         return super.point(inside: point, with: event)
     }
     return buttonRect.contains(point)
}

方法二

----TBD
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容