您的位置:首页 > 其它

寻找最合适的view

2015-12-10 21:41 225 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: