我试图做这样的事情。
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
if ([self pointInside:point withEvent:event]) {
return _scrollView;
}
return nil;
}
但是我收到了像
这样的错误错误:自动引用计数问题:实例消息的接收器类型“ViewController”未声明带有选择器'pointInside:withEvent:' 的方法 请帮帮我,谢谢
答案 0 :(得分:4)
你想用这个代码做什么?
self
是UIViewController
,但为UIView
定义了pointInside:withEvent:
方法。尝试将其更改为:
if([self.view pointInside:point withEvent:event])
虽然基于对_scrollView
的引用,看起来你应该写一些类似的东西:
if([self.scrollView pointInside:point withEvent:event])
如果该测试通过,则返回scrollview。
为了更进一步,hitTest:withEvent:
的默认行为实际上应该返回_scrollView
,如果它是self.view
的子视图。所以除非你专门从触摸事件中排除其他一些子视图,否则你甚至不需要编写该方法。在这种情况下,请使用self.scrollView
方式。