Как показать клавиатуру с помощью нажатия NSButton? - PullRequest
10 голосов
/ 08 декабря 2010

Я знаю только несколько способов показать клавиатуру на iOS

сенсорное текстовое поле, строка поиска, текстовое представление .....

Можно ли прикоснуться к кнопке, чтобы показать клавиатуру ???

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

Спасибо, ребята ~

Ответы [ 4 ]

15 голосов
/ 08 декабря 2010

Вам необходимо добавить UITextField к вашему представлению и затем вызвать [myTextfield becomeFirstResponder]; Можно установить скрытый атрибут от UITextField до YES, чтобы пользователь никогда не видел текстовое поле.После завершения ввода с клавиатуры вы можете удалить UITextField с помощью removeFromSuperview.

Возможно, немного грязно, но это решение, которое я часто использовал.Интересно, есть ли в SDK еще одна возможность?

6 голосов
/ 25 февраля 2013

Документация для протокола UIKeyInput гласит следующее:

Подкласс UIResponder может принять этот протокол для реализации простого ввода текста.Когда экземпляры этого подкласса являются первым респондентом, отображается системная клавиатура.

Для классов, использующих этот протокол, доступно только небольшое подмножество доступных клавиатур и языков.

Так что это может удовлетворить ваши потребности лучше, чем скрытое текстовое поле / представление.

3 голосов
/ 08 декабря 2010

Вам нужен какой-то метод ввода, например UITextField, в котором вы можете ввести имя для своей кнопки.Если вы хотите, вы можете создать UIButton, который показывает textField (по умолчанию он скрыт) и делает его первым респондентом, выполнив:

textField.hidden = NO;
[textField becomeFirstResponder];

Как только вы введете что-то, что вы хотите в текстовое поле,Вы можете сделать так, чтобы клавиатура исчезла, текстовое поле было скрыто, а текст UIButton изменился на введенный текст.

-(BOOL)textFieldShouldReturn:(UITextField*)textField; {
textField.hidden = YES;
[textField resignFirstResponder];
[yourButton setTitle:textField.text forState:UIControlStateNormal];
}
2 голосов
/ 08 декабря 2010

http://www.iphonedevsdk.com/forum/iphone-sdk-development/17681-show-keyboard-button-press.html

Исходя из вышеприведенной информации, текстовое поле может быть невидимым, а метка кнопки будет постоянно меняться в зависимости от текста текстового поля.

Надеюсь, это поможет: D

...