Подтвердить что ты не робот

Каковы цели "Первый ответчик" и "Выход" в редакторе раскадровки?

В XCode IDE в нижней части контроллера представления в редакторе MainStoryboard есть два поля: Первый ответчик и Выход.

Я знаю, что firstResponder является программным в коде, но в редакторе раскадровки я не могу сделать ничего полезного.

Могу ли я использовать первого ответчика в этой области, чтобы каким-то образом установить первого ответчика на просмотр? Я хотел бы, чтобы первое текстовое поле было активным при загрузке, и я попытался щелкнуть правой кнопкой мыши и перетащить безрезультатно. Я знаю, что я могу установить его программным способом в методе viewDidLoad, но есть ли способ сделать это здесь?

И какой зеленый выход для?

First Responder (orange) and Exit (Green) - what are they for?

4b9b3361

Ответ 1

Я никогда не использовал его и, вероятно, никогда не буду, но вы можете назначить объект первым в очереди для получения событий из пользовательского интерфейса.

Я предполагаю, что вы могли бы создать подкласс UIView и добавить его в UIViewController, но вы действительно хотите, чтобы какой-то другой объект получал и обрабатывал события, отличные от UIViewController, к которым вы добавляете его.

Ответ 2

На этот вопрос нет хорошего ответа, поэтому я отправляю свой ответ:

Из здесь:

Примечание. Вероятно, вы вряд ли будете использовать первого ответчика. Это прокси-объект, который ссылается на любой объект, имеющий статус первого ответчика в любой момент времени. Он также присутствовал в ваших перьях, и вам, вероятно, никогда не приходилось его использовать. Например, вы можете подключить событие Touch Up Inside с помощью кнопки "Первый ответчик": селектор. Если в какой-то момент текстовое поле имеет фокус ввода, вы можете нажать эту кнопку, чтобы текстовое поле, которое теперь является первым ответчиком, вырезало его текст в картон.

Edit:

1) Первый ответчик очень полезен, если вы используете текстовые поля с уведомлением клавиатуры. Я использую его, чтобы клавиатура исчезла, сделайте выход переменной переменной currentFirstResponder вашего класса и в viewWillDisappear:

[self.currentFirstResponder resignFirstResponder];

2) Вы можете прочитать об отключении segues (поле "Выход" ) здесь