您好,欢迎来到二三娱乐。
搜索
您的当前位置:首页[需求记录]_使用hitTest实现穿透点击事件

[需求记录]_使用hitTest实现穿透点击事件

来源:二三娱乐
  • 参考链接:

  • 效果演示:
hitTest实现穿透点击.gif
  • 代码如下:
#import "OrangeView.h"

@interface OrangeView : UIView

@property (nonatomic,weak)IBOutlet UIButton*btn;

@end

@implementation OrangeView

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
    NSLog(@" 橙色界面处理点击事件!");
}

- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
{
    //判断点击的位置在不在按钮上
    //转换点击位置的坐标系
    CGPoint btnP = [self convertPoint:point toView:self.btn];
    
    //获取按钮
    if ([self.btn pointInside:btnP withEvent:event]) {
        //点在按钮上
        return self.btn;
    }else
    {
        return [super hitTest:point withEvent:event];
    }
}
/**
*点击按钮的响应事件
*/
- (IBAction)btnClick
{
    NSLog(@"按钮处理点击事件!");
}

Copyright © 2019- yule263.com 版权所有 湘ICP备2023023988号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务