Настройка клавиатуры iPhone - PullRequest
11 голосов
/ 18 июня 2009

Есть ли способ изменить или сделать собственную клавиатуру iPhone, чтобы печатать на неподдерживаемых языках?

Ответы [ 2 ]

13 голосов
/ 21 июня 2011

Вы можете создать свою собственную клавиатуру, но на самом деле использовать ее сложнее.

Для его создания:

  1. Создать вид клавиатуры. Вы можете использовать любые подпредставления, которые вы хотите. Наиболее полезный способ сделать это, вероятно, создать подкласс UIView.
  2. Организовать возвращение экземпляра вида клавиатуры любым свойством UIResponder inputView. Для UITextView и UITextField это так же просто, как присвоить свойство; для других классов вам, вероятно, придется создать подкласс или использовать методы доступа, так как по умолчанию свойство объявлено только для чтения.

Более подробная информация об этом доступна в документации .

К сожалению, на самом деле с использованием эта пользовательская клавиатура сложнее. Начиная с iOS 4.3, ни UITextField, ни UITextView не соответствуют протоколу UITextInput , который идеально подходит для этой цели. Для UITextView вы должны быть в состоянии заставить его работать, используя методы, предоставляемые классом, но поскольку UITextField не дает никакого способа найти текущее выделение или позицию курсора, вы не сможете создать полнофункциональную клавиатуру, используя открытые -документированные методы (возможно добавление и удаление-от-конца, и даже вставка в текущую позицию путем манипулирования буфером обмена , но кнопка «удалить предыдущий символ», как на стандартной клавиатуре, окажется невозможной) .

Начиная с iOS 5.0, UITextField и UITextView наконец-то реализуют протокол UITextInput. Теперь вставка и удаление текста в позиции курсора должно быть простым делом.

6 голосов
/ 18 июня 2009

Нет, в настоящее время нет способа сделать это.

Есть несколько хакерских способов добавить свою собственную кнопку с помощью добавления SubViews. Но это не поддерживается и может произойти сбой в любое время.

Если вы решили создать свой собственный, вам, вероятно, придется свернуть свой собственный элемент управления textbox и любой другой элемент управления, для которого требуется клавиатура. Другими словами, не совсем идеальный вариант.

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