UIViewController не получает прикосновения - PullRequest
3 голосов
/ 22 июня 2009

У меня довольно простой UIViewController. Это инициализируется с представлением, которое я создал в Interaface Builder, который содержит только UIImageView. Когда пользователь касается экрана, я хочу, чтобы вызывалось сообщение touchesBegan UIViewController. Итак, я переопределил это и добавил некоторые записи, но ничего не произошло.

Я вообще ничего особенного не сделал, так как UIViewController наследует от UIResponder, я ожидаю, что это будет работать прямо из коробки. Из того, что я понимаю, в UIImageView по умолчанию отключено взаимодействие с пользователем, поэтому я включил его как через InterfaceBuilder, так и в методе viewDidLoad моего UIViewcontroller (я привязал UIImageView к IBOutlet). Я также гарантирую, что userInteraction включен в родительском представлении в Интерфейсном Разработчике.

Что-нибудь еще, что я здесь забываю?

Ответы [ 3 ]

3 голосов
/ 22 июня 2009

ОК, я дурачок. Работает нормально. Проблема заключалась в том, что я не осознавал, что отправляю сообщение о выпуске в UIViewController, не сохранив его сначала в другом месте. Так что это было причиной проблемы.

0 голосов
/ 17 ноября 2010

Пожалуйста, игнорируйте первый ответ. На самом деле это так же просто, как переопределить метод в пользовательском представлении. Наиболее распространенной причиной не получения touchesBegan является не реализуемый метод canBecomeFirstResponder Это не соединение IB, это стандартные методы обработки касаний.

0 голосов
/ 22 июня 2009

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

Убедитесь, что вы связываете событие touchesBegan с IBAction в Интерфейсном Разработчике?

Вы должны создать функцию IBAction для обработки события и явно подключить четное к IBAction. Это не так просто, как просто переопределить метод.

Хотя у вас есть представление, привязанное к IBOutlet, вам нужно подключить событие с помощью IBAction, иначе вы не получите ни одно из этих событий.

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