Использование Interface Builder для размещения UIGestureRecognizer в нескольких представлениях в приложении с вкладками - PullRequest
0 голосов
/ 07 декабря 2011

Я создал приложение, в котором я пытаюсь использовать новые функции в Интерфейсном Разработчике (раскадровка, GestureRecognizers и т. Д.). Я начинаю с выбора этого шаблона приложения с вкладками.Затем я добавляю SwipeGestureRecognizer к каждому представлению в соответствующем контроллере представлений.SwipeGesture подключен к методу, который вызывает resignFirstResponder при каждом вводе текста.

SwipeGesture работает, как и ожидалось, при первом просмотре, но когда я пытаюсь нажать на вкладку для переключения просмотра, приложение вылетает.Я получаю ошибку SIGBART или EXC_BAD_ACCESS.Если я удаляю GestureRecognizer из второго представления, второе представление загружается без каких-либо проблем.

Эта проблема не возникает, если я, например, решу использовать шаблон UtilityApplication и добавить распознаватели жестов так же, как я делал это в шаблоне приложения с вкладками.

Может кто-нибудь дать мне какие-либо указателио том, как я могу решить эту проблему.Боюсь, что я не могу предоставить много кода, так как единственный код, который я добавил, это IBOutlet для UITextField и метод, вызываемый, когда произошел жест

- (IBAction) hideKeyBoard:(id)sender{
    [textField resignFirstResponder];
}

This is an image of my setup in Interface Builder. The view called ViewController is working but when I try to load the SettingsViewController the app crashes.

Это изображение моей установки в Интерфейсном Разработчике.Представление под названием ViewController работает, но когда я пытаюсь загрузить SettingsViewController, приложение вылетает.

Обновление: если вместо этого я добавил программно распознаватели жестов, вышеупомянутая проблема не возникала.

1 Ответ

1 голос
/ 13 июня 2012

Это ошибка UIKit.

Чтобы продолжить использовать раскадровку / Интерфейсный Разработчик, добавьте IBOutlet в свой UIViewController и подключите его к UIGestureRecognizer. Работает как шарм :) 1006 *

...