Вы можете создать свою собственную клавиатуру, но на самом деле использовать ее сложнее.
Для его создания:
- Создать вид клавиатуры. Вы можете использовать любые подпредставления, которые вы хотите. Наиболее полезный способ сделать это, вероятно, создать подкласс UIView.
- Организовать возвращение экземпляра вида клавиатуры любым свойством UIResponder
inputView
. Для UITextView и UITextField это так же просто, как присвоить свойство; для других классов вам, вероятно, придется создать подкласс или использовать методы доступа, так как по умолчанию свойство объявлено только для чтения.
Более подробная информация об этом доступна в документации .
К сожалению, на самом деле с использованием эта пользовательская клавиатура сложнее. Начиная с iOS 4.3, ни UITextField, ни UITextView не соответствуют протоколу UITextInput
, который идеально подходит для этой цели. Для UITextView вы должны быть в состоянии заставить его работать, используя методы, предоставляемые классом, но поскольку UITextField не дает никакого способа найти текущее выделение или позицию курсора, вы не сможете создать полнофункциональную клавиатуру, используя открытые -документированные методы (возможно добавление и удаление-от-конца, и даже вставка в текущую позицию путем манипулирования буфером обмена , но кнопка «удалить предыдущий символ», как на стандартной клавиатуре, окажется невозможной) .
Начиная с iOS 5.0, UITextField и UITextView наконец-то реализуют протокол UITextInput. Теперь вставка и удаление текста в позиции курсора должно быть простым делом.