Будет ли метод touchsBegan вызываться без UIView или UIViewController в iPhone? - PullRequest
0 голосов
/ 04 мая 2011

Я создал приложение, в котором у меня есть только класс appdelegate.Я не создаю UIView или контроллер представления.Я просто добавил текстовые поля, метки и кнопки в моем окне.

Я хочу скрыть клавиатуру, когда пользователь нажимает на текстовые поля.Обычно это достигается методом touchesBegan.Для реализации этого метода нам нужно сделать две вещи.

Один - добавить в файл заголовка (.h)

Еще один - установить делегат textField.То есть textField.delegate = self;

Я сделал эти две вещи.Но все равно метод touchesBegan не вызывался.

Почему?Должен ли я иметь класс UIView или UIViewController для него?

Заранее спасибо

Ответы [ 2 ]

3 голосов
/ 04 мая 2011

UIWindow является подклассом UIView, так что вы можете просто подключиться к ним. Но это серьезно плохой шаблон дизайна. Попробуйте изменить свое приложение, чтобы оно использовало один контроллер представления, а не делало все в делегате приложения. В противном случае вы присяжете на то, чтобы делегат приложения никогда не был создан.

0 голосов
/ 04 мая 2011

touchesBegan - это метод UIView. если вы хотите сделать это в своих настройках, вы должны создать подкласс UIView, поместить все свои элементы управления в него и реализовать touchesBegan в подклассе UIView.

...