touch.view总是UIView?

use*_*988 1 objective-c uiview uiimageview ios

我在touchesMoved上使用下面的代码来检测移动了什么类型的对象,并且由于某种原因它始终是UIView.为什么是这样?我正在触摸UIImageView,它仍然是UIView,我认为是因为UIImageView是UIView类型的类,但是我如何检测对象是否是UIImageView?

if([touch.view isKindOfClass:[UIImageView class]]){
    NSLog(@"UIImageView");
} else if ([touch.view isKindOfClass:[UIImage class]]) {
    NSLog(@"UIImage");
} else if ([touch.view isKindOfClass:[UIView class]]) {
    NSLog(@"UIView");
}
Run Code Online (Sandbox Code Playgroud)

jrt*_*ton 8

默认情况下,图像视图禁用用户交互.因此,有问题的视图将是图像视图正下方的视图.

您可以通过将其userInteractionEnabled属性设置为YES 来启用与图像视图的交互.