Как настроить ярлыки для кнопок, созданных с помощью кода? - PullRequest
0 голосов
/ 27 декабря 2018

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

Ответы [ 2 ]

0 голосов
/ 27 декабря 2018

Из Темы программирования кнопок :

Установка эквивалентного ключа кнопки

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

Обратите внимание, что если вы установите ключ, эквивалентный Return, эта кнопка станет кнопкой по умолчанию.

Обычно вы устанавливаете эквивалент ключа кнопки в Интерфейсном Разработчике,Для этого нажмите кнопку и откройте панель атрибутов инспектора.Раскройте атрибуты для кнопки, нажмите в ключевом эквиваленте.и введите клавишу или комбинацию клавиш, которую вы хотите связать с кнопкой.(Вы удаляете эквивалент ключа, нажимая Очистить.)

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

[myButton setKeyEquivalent:@"\r"];

Чтобы установить ключ кнопки, эквивалентный непечатному символу, вы можете использовать константы клавиш, определенные как NSResponder, как в следующем примере:который устанавливает ключ кнопки, эквивалентный клавише со стрелкой влево.

unichar arrowKey = NSLeftArrowFunctionKey;
[button setKeyEquivalent:[NSString stringWithCharacters:&arrowKey length:1]];

В Swift вы устанавливаете свойство keyEquivalent:

button.keyEquivalent = "\r"
0 голосов
/ 27 декабря 2018

UITextField имеет свойства ввода текста, которые имеют предопределенные ключи.

enter image description here

или вы можете сделать это как

textField.returnKeyType = .done

Затем вы можете подтвердить свой контроллер представления с помощью UITextFieldDelegate.

textField.delegate = self

и реализовать метод UITextFieldDelegate

func textFieldShouldReturn(textField: UITextField) -> Bool {

     // implement your logic here...

    textField.resignFirstResponder()
    return true
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...