寻找最合适的view
2015-12-10 21:41
225 查看
03-寻找最合适的View
如何寻找最合适的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
相关文章推荐