2009-06-22 6 views
3

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

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

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

ответ

3

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

0

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

Убедитесь, что вы подключаете событие touchsBegan с помощью IBAction в Interface Builder?

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

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

0

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

Смежные вопросы