• 寻找最合适的view


    03-寻找最合适的View

    如何寻找最合适的View?

    1.先判断自己是否能够接收触摸事件,如果能再继续往下判断, 
    2.再判断触摸的当前点在不在自己的身上. 
    3.如果在自己身上,它会从后往前遍历子控件,遍历出每一个子控件后,重复前面的两个步骤.
    4.如果没有符合条件的子控件,那么它自己就是最适合的View.

    代码实现:

    #import "ZYQWindow.h"
    @implementation ZYQWindow
    
    //当事件传递给当前View的时候,会调用一个方法,去寻找最适合的View.
    //作用:去寻找最适合的View.
    //什么时候调用:当事件传递给当前View的时候
    //返回值:找到的最适合的View.
    -(UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event{
        
        UIView *fitView = [super hitTest:point withEvent:event];
    
     // return  self.subviews[0];
        return fitView;
        
    }
    
    //作用:判断当前的点在不在方法调用者的身上.
    //什么时候调用:在hitTest内部调用pointInside.
    //注意点.point必须得要是跟方法调用者同一个坐标系.
    -(BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event{
        return NO;
    }
    
    @end
  • 相关阅读:
    oracle行转列
    JVM设置空间大小
    Spring AOP 业务权限管理
    清晨漫步
    pull解析xml(android)
    今昔何昔
    Spring: Document root element "beans", must match DOCTYPE root "null
    xfire
    心之所向
    Oracle数据库连接
  • 原文地址:https://www.cnblogs.com/zhoudaquan/p/5037409.html
Copyright © 2020-2023  润新知