Использование касаний и отправка их следующему респондеру - PullRequest
1 голос
/ 10 января 2012

У меня есть приложение с прозрачным контроллером представления поверх непрозрачного контроллера представления. Контроллер непрозрачного вида имеет кнопку. Я хочу получить прикосновения в контроллере прозрачного вида и зарегистрировать их, а также увидеть нажатие кнопки. Это возможно? Когда я пробую решение nextResponder , оно не работает. Когда я распечатываю nextResponder, я вижу, что это UIWindow, это нормально?

AppDelegate просто делает это:

OpaqueViewController *someVC = [[OpaqueViewController alloc] init];
someVC.view.frame = CGRectMake(0, 0, 320, 480);
[self.window addSubview:someVC.view];

TransparentViewController *panel = [[TransparentViewController alloc] init];
panel.view.frame = CGRectMake(0, 0, 320, 480);
[self.window addSubview:panel.view];

Итак, я попробовал это:

@implementation TransparentViewController
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    [self.nextResponder touchesBegan:touches withEvent:event];
}

И я не могу заставить кнопку на OpaqueViewController щелкнуть ...

1 Ответ

1 голос
/ 21 сентября 2012

Я знаю это старый вопрос. Тем не менее, я просто боролся с той же проблемой. Кажется, что NextResponder не правильный подход на ощупь. Вместо этого используйте:

[super touchesBegan:touches withEvent:event];

Можно было бы ожидать, что он будет вести себя так же, но большинство суперклассов совершают дополнительную магию.

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