zoukankan      html  css  js  c++  java
  • iOS

    扩展UIButton的响应区域

    引言

    通常在iOS开发中通常会遇到产品说按钮的响应区域不大 而UI给我们的设计是按钮的面积 而不是按钮的响应面积

    所以在这种情况下需要我们自己去扩展按钮的响应区域

    思考:这时候让我想起了 响应者链条

    解决方案:

    重写一个Button类,这个button类继承与UIButton,

    重写- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent*)event, 作用:判断下传入过来的点在不在方法调用者的坐标系上

    直接上代码

    #import "JHCustomButton.h"
    
    @implementation JHCustomButton
    
    // 作用:判断下传入过来的点在不在方法调用者的坐标系上
    - (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event{
        
        CGRect bounds =CGRectMake(0, 0, self.bounds.size.width, self.bounds.size.height);
        
        //宽高希望扩展的范围
        CGFloat widthDelta =30;
        CGFloat heightDelta =20;
        
        //相当于bounds 上下左右都增加了10的额外
        bounds =CGRectInset(bounds, -0.5*widthDelta, -0.5* heightDelta);//注意这里是负数,扩大了之前的bounds的范围
        
        //点击的点是否在这个范围
        return CGRectContainsPoint(bounds, point);
    
    }
    @end

     这样就实现了只扩大了按钮的响应区域

  • 相关阅读:
    HQueue_Install_In_Ubuntu
    win10_64_ssh连接linux
    win10防火墙服务灰色解决办法
    打开houdini软件的脚本
    houdini_license_sever start and off
    Java关于Object类中equal方法的理解
    Java关于Object类中equal方法的理解
    单源最短路径
    单源最短路径
    最小生成树
  • 原文地址:https://www.cnblogs.com/junhuawang/p/6438154.html
Copyright © 2011-2022 走看看