pointInside: withEvent: - PullRequest
       3

pointInside: withEvent:

1 голос
/ 17 февраля 2012

Я пытался сделать что-то подобное.

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

но я получаю сообщение об ошибке типа

ошибка: автоматический подсчет ссылок Проблема: тип получателя 'ViewController' для сообщения экземпляра не объявляет метод с селектором 'pointInside: withEvent:'
пожалуйста, помогите мне, спасибо

1 Ответ

4 голосов
/ 17 февраля 2012

Что вы пытаетесь сделать с этим кодом?

self - это UIViewController, но метод pointInside:withEvent: определен для UIView с. Попробуйте изменить его на:

if([self.view pointInside:point withEvent:event])

Основываясь на ссылке на _scrollView, похоже, вы должны написать что-то вроде:

if([self.scrollView pointInside:point withEvent:event])

Поскольку вы возвращаете прокрутку, если этот тест пройден.

Однако, чтобы пойти еще дальше, стандартное поведение для hitTest:withEvent: должно фактически возвращать _scrollView, если это подпредставление self.view. Так что вам даже не нужно писать этот метод, если вы специально не исключаете некоторые другие подпредставления из сенсорных событий. В этом случае используйте способ self.scrollView.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...