Как показать клавиатуру с помощью NSButton?

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

коснуться текстового поля, строки поиска, текстового просмотра.....

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

Я бы хотел использовать этот способ, чтобы установить кнопку, если кнопка не имеет значения или ее можно переименовать.

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

Ответ 1

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

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

Ответ 2

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

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

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

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

Ответ 3

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

textField.hidden = NO;
[textField becomeFirstResponder];

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

-(BOOL)textFieldShouldReturn:(UITextField*)textField; {
textField.hidden = YES;
[textField resignFirstResponder];
[yourButton setTitle:textField.text forState:UIControlStateNormal];
}