Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
IOS/Objective-C:视图上的调用命中测试方法_Ios_Objective C_Hittest - Fatal编程技术网

IOS/Objective-C:视图上的调用命中测试方法

IOS/Objective-C:视图上的调用命中测试方法,ios,objective-c,hittest,Ios,Objective C,Hittest,我在文档中找不到如何调用命中测试方法?它是否作为委托方法自动调用?或者你怎么称呼它?当我把下面的代码放在VC中时,它不会在加载或点击视图时触发。谢谢你的建议 - (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event { NSLog(@"hit test firing"); return self.view; } 它是UIView上的一种方法,以下是文档: 系统将自动调用它以确定已点击哪个视图。如

我在文档中找不到如何调用命中测试方法?它是否作为委托方法自动调用?或者你怎么称呼它?当我把下面的代码放在VC中时,它不会在加载或点击视图时触发。谢谢你的建议

  - (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
    {
NSLog(@"hit test firing");
       return self.view;
    }

它是
UIView
上的一种方法,以下是文档:


系统将自动调用它以确定已点击哪个视图。如果需要自定义功能,可以覆盖它。

它是一种
UIView
方法,而不是
UIViewController
方法。你可以随时打电话给我。对不起,我不知道。调用它的代码是什么?您可以通过
[someUIViewObject hitTest:pointYouWantToTest,with event:nil]
调用它,但根据我对答案的评论,请解释您实际尝试的操作。前面的问题更详细地解释了目标。我认为第一步应该是让方法启动。它会自动调用。要理解命中测试的工作原理,请阅读以下文档:如果我将该方法放在viewcontroller中,它会自动调用吗?现在,它没有开火。它永远不会被调用为UIViewController。它是UIView上的一个方法,因此只会对UIView及其子类调用它。我应该在应用程序中的何处放置代码,以便打印NSLog语句?我想验证它是否被调用。您需要将它添加到
UIView
子类中。如果您尚未在视图中创建任何
UIView
子类,那么就没有地方可以添加它。我想,也许你这里有个X-Y问题。你到底想达到什么目的?如果您想在视图控制器的基本视图上录制点击,则需要向其添加点击手势识别器。我有一个与文本视图底部重叠并吸收触摸事件的滚动视图。scrollview和textview上都有一个手势识别器,用于滚动和触摸事件。我已经使用了canceltouchesinView=NO。我想我需要添加hittest代码,以便点击可以传递到textview。但是我们还没有弄清楚把hittest代码放在哪里。我想我必须为scrollview创建一个类别?