pointInside:withEvent:

时间:2012-02-17 03:39:01

标签: iphone objective-c xcode

我试图做这样的事情。

- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
    if ([self pointInside:point withEvent:event]) {
        return _scrollView;
    }
    return nil;
} 

但是我收到了像

这样的错误

错误:自动引用计数问题:实例消息的接收器类型“ViewController”未声明带有选择器'pointInside:withEvent:' 的方法 请帮帮我,谢谢

1 个答案:

答案 0 :(得分:4)

你想用这个代码做什么?

selfUIViewController,但为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方式。