UIInputViewController
Наследование
-
NSObject
-
UIResponder
-
UIViewController
-
UIInputViewController
-
NSObject
-
UIResponder
-
UIViewController
-
UIInputViewController
Соответствует
-
AnyObject
-
CVarArgType
-
Сопоставимый
-
Hashable
-
NSCoding
-
NSExtensionRequestHandling
-
NSObjectProtocol
-
Печатаемый
-
UIAppearanceContainer
-
UIContentContainer
-
UIStateRestoring
-
UITextInputDelegate
-
UITraitEnvironment
-
NSCoding
-
NSObject
-
UIAppearanceContainer
-
UIContentContainer
-
UITextInputDelegate
-
UITraitEnvironment
Оператор импорта
Swift
import UIKit
Objective C
@import UIKit;
Доступность
Доступный в iOS 8.0 и позже.
Для создания пользовательской клавиатуры запустите путем разделения на подклассы UIInputViewController
класс. Добавьте пользовательский интерфейс своей клавиатуры к inputView
свойство Вашего подкласса.
Xcode 6 и позже обеспечивает начальную точку для пользовательской клавиатуры: Пользовательская Клавиатура предназначается для шаблона.
Пользовательская клавиатура может реагировать на события ввода данных пользователем следующими способами:
Добавьте текст в форме неприписанного
NSString
объект в точке вставки во входном объекте текущего текста, путем вызоваinsertText:
метод наtextDocumentProxy
свойство. Это свойство обеспечивает тот метод через свое соответствие кUIKeyInput
протоколУдалите текст в обратном направлении, запускающемся в точке вставки, путем вызова
deleteBackward
метод наtextDocumentProxy
свойство.Переключитесь на другую клавиатуру в наборе поддерживающих пользователя клавиатур путем вызова
advanceToNextInputMode
метод.Отклоните клавиатуру путем вызова
dismissKeyboard
метод.
Получите текстовый контекст вокруг точки вставки путем чтения textDocumentProxy
свойства documentContextBeforeInput
и documentContextAfterInput
. Чтобы узнать, пуст ли входной объект текущего текста, вызовите hasText
метод на textDocumentProxy
свойство. Можно использовать этот текстовый контекст путем рассмотрения его вместе с вводом данных пользователем, для предложения контекстно-зависимого вывода документу с клавиатуры.
Входной контроллер представления соответствует UITextInputDelegate
протокол, позволяя Вам реагировать на изменения в содержании документа и позиции точки вставки.
Для представления надлежащей раскладки клавиатуры реагируйте на входной объект текущего текста UIKeyboardType
свойство. Для каждой черты типа клавиатуры Вы поддерживаете, изменяете содержание своего основного представления соответственно.
Для больше о создании пользовательской клавиатуры, считайте Пользовательскую Клавиатуру в Руководстве по программированию Расширения Приложения.
-
inputView
СвойствоОсновное представление для ввода просматривает контроллер.
Объявление
Swift
var inputView: UIInputView!
Objective C
@property(nonatomic, retain) UIInputView *inputView
Обсуждение
Когда используется в качестве основного представления для ввода просматривают контроллер, a
UIInputView
объект пуст. Добавьте пользовательский интерфейс своей клавиатуры к этому представлению.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
Переключатели на следующую клавиатуру в списке поддерживающих пользователя клавиатур.
Объявление
Swift
func advanceToNextInputMode()
Objective C
- (void)advanceToNextInputMode
Обсуждение
Для передачи анализа приложения необходимо предоставить очевидное управление пользовательским интерфейсом пользователю для переключения далеко от клавиатуры.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
Отклоняет пользовательскую клавиатуру от с экрана.
Объявление
Swift
func dismissKeyboard()
Objective C
- (void)dismissKeyboard
Обсуждение
Поскольку пользовательская клавиатура не имеет доступа к входному объекту текущего текста, Вы не можете отправить ему a
resignFirstResponder
сообщение (как Вы были бы для отклонения системной клавиатуры при разработке приложения с вводом текста). Для отклонения пользовательской клавиатуры вызватьdismissKeyboard
вместо этого.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
textDocumentProxy
СвойствоПрокси к вводу текста возражает, что пользовательская клавиатура взаимодействует с. (только для чтения)
Объявление
Swift
var textDocumentProxy: NSObject { get }
Objective C
@property(nonatomic, readonly) NSObject < UITextDocumentProxy > *textDocumentProxy
Обсуждение
Это свойство соответствует прямо или косвенно следующим протоколам:
UITextDocumentProxy
протокол обеспечивает текстовый контекст вокруг точки вставкиUIKeyInput
протокол обеспечивает вставку, и удалите методы, и позволяет Вам узнать, пуст ли текстовый объектUITextInputTraits
протокол обеспечивает понимание характеристик объекта ввода текста, такой как, запрашивает ли это стиль автокапитализации и какой вид клавиатуры это ожидает (например, адрес электронной почты, URL, цифровая клавиатура или значение по умолчанию).
Используйте это свойство для взаимодействия с входным объектом текущего текста. Например, для вставки текста Вы записали бы код как это:
[self.textDocumentProxy insertText:@"hello "]; // Inserts the string "hello " at the insertion point
Для удаления кода, Вы записали бы код как это:
[self.textDocumentProxy deleteBackward]; // Deletes the character to the left of the insertion point
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
Получает дополнительный словарь пар срока для использования в пользовательской клавиатуре.
Объявление
Swift
func requestSupplementaryLexiconWithCompletion(_
completionHandler
: (UILexicon!) -> Void)Objective C
- (void)requestSupplementaryLexiconWithCompletion:(void (^)(UILexicon *))
completionHandler
Параметры
completionHandler
Код, который Вы пишете для использования возвращенного
UILexicon
объект.Обсуждение
Вызовите этот метод для получения a
UILexicon
объект, содержащий основной набор пар срока для использования в автоисправлении или текстовых предложениях на основе ввода данных пользователем.UILexicon
объект содержит слова из различных источников, включая:Непарные имена и фамилии от базы данных Address Book пользователя
Текстовые ярлыки, определенные в Настройках> Общий> Клавиатура> список Ярлыков
Словарь общих слов
Рассмотрите этот словарь как дополнение к более полному словарю Вашего собственного проекта.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
primaryLanguage
СвойствоОсновной язык для пользовательской клавиатуры.
Объявление
Swift
var primaryLanguage: String?
Objective C
@property(nonatomic, copy) NSString *primaryLanguage
Обсуждение
Идентификатор BCP 47 языка, такой как
en-US
. Если указано, это значение заменяетPrimaryLanguage
введите пользовательскую клавиатуруInfo.plist
файл.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.