2009-09-14 4 views
17

У меня есть представление, построенное через IB, есть текстовое представление и кнопка на нем. Когда появится представление, я хотел бы, чтобы клавиатура уже отображалась.Как установить первый ответчик?

Я попытался установить первый ответчик в didViewLoad, но это не сработало.

У меня есть IBOutlet, который связан с textView и связанным с ним доступом.

+0

Проверить эту ссылку: http://juliuspaintings.co.uk/cgi-bin/paint_css/animatedPaint/004-TextFieldApp.pl Это, скорее всего, имеет ваши ответы. – Dyn

ответ

45

Похоже, вы, возможно, случайно неправильно имя метода didViewLoad вместо viewDidLoad. Все вы должны там (предполагается, что ваш IBOutlet подключен IB) заключается в следующем:

[textView becomeFirstResponder]; 
+4

Это должно быть [textView.window makeFirstResponder: textView]; – voidref

+4

@voidref Вы были бы правы, если бы вопрос касался Какао, но это не так, речь идет о касании Какао. В 'UIWindow' нет метода' makeFirstResponder: '. – jlehr

14

Я знаю, что это помечено как какао-контакт, но это высокий рейтинг в Google, и я столкнулся с проблемой с помощью -becomeFirstResponder на OS X; он ничего не сделал. Из документации NSResponder,

Используйте метод NSWindow makeFirstResponder:, а не этот метод, чтобы сделать объект первым ответчиком. Никогда не вызывайте этот метод напрямую.

Так на использовании OS X,

[[myView window] makeFirstResponder:myView]; 
Смежные вопросы