Как добавить inputAccessoryView в пользовательскую клавиатуру (расширение ios)

Я создал пользовательскую клавиатуру программно. Раскадровки нет. Я хотел бы добавить дополнительный вид выше в соответствии с собственной клавиатурой Apple. Не могу понять, как это сделать в swift внутри моего файла клавиатуры в моем приложении.

Я пробовал (row0 - это UIView):

self.view.inputAccessoryView?.addSubview(row0)

Спасибо!


person jasonjasonfried    schedule 02.10.2014    source источник


Ответы (1)


Вы не делаете этого на пользовательской клавиатуре — inputAccessoryView — это то, что само приложение (то, которое управляет текстовым полем, в которое вы вводите текст) добавляет над любой используемой клавиатурой. Если вам нужна большая высота клавиатуры, вы можете использовать этот код (скопированный из Apple Руководство по программированию расширений для приложений):

CGFloat _expandedHeight = 500; // this is the height you want your keyboard to be
NSLayoutConstraint *_heightConstraint = 
    [NSLayoutConstraint constraintWithItem: self.view 
                                 attribute: NSLayoutAttributeHeight 
                                 relatedBy: NSLayoutRelationEqual 
                                    toItem: nil 
                                 attribute: NSLayoutAttributeNotAnAttribute 
                                multiplier: 0.0 
                                  constant: _expandedHeight];
[self.view addConstraint: _heightConstraint];
person Undo    schedule 02.10.2014
comment
Спасибо. Это имеет смысл. - person jasonjasonfried; 03.10.2014
comment
Здравствуйте, я использую ваш код, но не увеличиваю высоту пользовательской клавиатуры. - person Kirit Modi; 05.01.2015
comment
Тогда как активировать inputAccessoryView? Используя системную клавиатуру, inputaccessoryview работает, но с моей пользовательской клавиатурой я не вижу никакого интерфейса для активации inputaccessoryview - person LKM; 06.08.2016