Программирование для клавиатуры iPad - несколько вопросов - PullRequest
1 голос
/ 21 марта 2011

Я думаю, что сделал домашнее задание по этому вопросу, но не нашел того, что искал.

Я занимаюсь разработкой приложения для iPad и хотел бы иметь возможность:

Наблюдайте за событиями нажатия клавиш (если они есть) и отвечайте на них:

  1. изменяя введенные данные и отображая измененные результаты в UITextField (вместо того, что пользовательпоступил).Это может быть макрос, например.
  2. , в некоторых случаях я бы хотел программно нажать кнопку Shift, поэтому следующая работа, которую пользователь вводит, начинается с заглавной буквы.

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

Есть мысли?

Спасибо.

1 Ответ

1 голос
/ 21 марта 2011

Пример для UITextField

Подключите делегат UITextField к делегату приложения и добавьте следующий код:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {

    if([string isEqual:@"b"]) {
        textField.text = [textField.text stringByReplacingCharactersInRange:range withString:@"!"];
        return NO;
    } else {
        return YES;
    }

}

Каждый раз, когда пользователь нажимает клавишу «b», он показывает восклицательный знак.
Все остальные клавиши работают как обычно.

Таким образом, вы также можете изменить регистр.
Например, когда пользователь нажимает «b», обновите поле с помощью «B».
В настоящее время невозможно нажать клавишу Shift по коду.

...