当我移动触摸点时,如何知道我是否有一个UIView?

时间:2016-11-27 09:50:53

标签: ios objective-c swift uiview swift3

我试图弄清楚如何确定我的接触点是否是UIView作为子视图的位置。背景是UIView本身,我正在添加多个其他UIViews ......所以当我长按并且在触摸时改变位置时,我想知道那时是否有UIView或者不。

我一直在想,仍然不清楚如何去做但是遇到this这让我想到获得层次结构的索引并检查它是否大于1.但我怎么能这样做呢?我在哪里接触?

任何暗示或线索都将受到赞赏。

1 个答案:

答案 0 :(得分:0)

您必须将两个对象myParentViewmySubView存储在两个对象中,现在只需使用此方法。

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { 
    CGPoint locationPoint = [[touches anyObject] locationInView: myParentView];
    UIView* viewYouWishToObtain = [self hitTest:locationPoint withEvent:event];
    if(mySubView == viewYouWishToObtain){

         //That view is touched
    }else{
        //That view is not touched
}
}