-(BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event{
//这个点是以self为坐标系。所以取当前bounds就能判断是否在self内部
//判断当前点击的范围是否是在自己身上,不在自己身上就不处理
CGRect rect = self.bounds;
if (CGRectContainsPoint(rect, point)){
return YES;
}
return NO;
}
//返回接收点击事件的view
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
UIView *view = [super hitTest:point withEvent:event];
return view;
}
UIView实例调用
// 将像素point由point所在视图转换到目标视图view中,返回在目标视图view中的像素值 从点从self转化为view上的坐标 坐标系为view
- (CGPoint)convertPoint:(CGPoint)point toView:(UIView *)view;
// 将像素point从view中转换到当前视图中,返回在当前视图中的像素值
把点从view转为相对于自己的点 坐标系为自己
- (CGPoint)convertPoint:(CGPoint)point fromView:(UIView *)view;
// 将rect由rect所在视图转换到目标视图view中,返回在目标视图view中的rect 坐标系由self切换到view
- (CGRect)convertRect:(CGRect)rect toView:(UIView *)view;
// 将rect从view中转换到当前视图中,返回在当前视图中的rect 坐标系由view切换到self
- (CGRect)convertRect:(CGRect)rect fromView:(UIView *)view;
把指定的子视图移动到顶层
- (void)bringSubviewToFront:(UIView *)view
网友评论