2016-08-06 2 views
1

Я разрабатываю пользовательскую клавиатуру, добавляя целевую измененную «пользовательскую клавиатуру».ios) Как создать представление о предложении над пользовательской клавиатурой

Итак, я разрабатываю свой подкласс UIInputViewController.

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

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

Это модуль точно такой же, как у одной из системных клавиш по умолчанию.

Но когда я пытаюсь получить доступ к «inputAccessoryView» на код ниже:

let customView = UIView(frame:CGRectMake(0,0,UIScreen.mainScreen().bounds.width,100)) 
customView.backgroundColor = UIColor.redColor() 
self.inputAccessoryView = customView 

я получил ошибку:

Невозможно присвоить свойству: «iputAccessoryView» является прибудете свойство только

Я много искал, но со мной ничего не работает.

Я нашел несколько сообщений со ссылкой 'UITextField' и 'accessoryview of UITextField'not related to 'UIInputViewController'.

Но после активации режима автоматического завершения, система по умолчанию клавиатура показывает мне inputAccessoryView многозначительных ключевых слов, но мой заказ клавиатура не показывает ничего над собой.

Я думаю, что работа должна быть выполнена в «UIInputViewController» не с «UITextField» и активации необходимо для моей пользовательской клавиатуры, чтобы создать свою inputAccessoryview.

Есть ли что-то, что мне не хватает или непонимание?

ответ

0

Custom Views for Data Input документация Apple, говорится:

«Любой класс унаследовавшие прямо или косвенно из UIResponder (обычно пользовательский вид) можно указать свой собственный вид входного сигнала и входной аксессуар вид.»

Вы должны определить ваш inputAccessoryView в подклассе что-то вроде UIView или UITextField которые оба унаследовать от UIResponder. Делая это, вы определяете, что должно отображаться над клавиатурой, когда конкретный вид представления становится первым ответчиком.

Вы будете в конечном итоге с чем-то вроде:

class MyTextField: UITextField { 
    override var inputAccessoryView: UIView? { 
     return myView 
    } 
} 

MyTextField Когда становится первым ответчиком, myView будет показано выше клавиатуры.

Смежные вопросы