Пользовательская высота клавиатуры и добавление пользовательского вида поверх пользовательской клавиатуры в ios

Я собираюсь создать настраиваемую клавиатуру для своего приложения, а также внедрить расширение настраиваемой клавиатуры для улучшения функций моего приложения на уровне ввода.
Поэтому я хочу добавить "настраиваемый вид" поверх моей пользовательской клавиатуры в приложение. когда я набираю какое-то слово в это время, добавляю настраиваемый вид поверх настраиваемой клавиатуры, такой как gBoard, так как можно добавить настраиваемый вид и увеличить размер клавиатуры более чем на 216.


person Pritesh Raiyani    schedule 06.12.2016    source источник
comment
Думаю, я не правильно понял ваш вопрос. Это так? Пожалуйста, посмотрите на ответ и комментарий.   -  person Nikhil Manapure    schedule 06.12.2016


Ответы (2)


вы должны поместить это ограничение высоты в viewWillAppear

 CGFloat _expandedHeight = 500;  
 NSLayoutConstraint *_heightConstraint = 

 [NSLayoutConstraint constraintWithItem: self.view 
                                attribute: NSLayoutAttributeHeight 
                               relatedBy: NSLayoutRelationEqual 
                                  toItem: nil 
                               attribute: NSLayoutAttributeNotAnAttribute 
                               multiplier: 0.0 
                                  constant: _expandedHeight];
[self.view addConstraint: _heightConstraint];

ПРИМЕЧАНИЕ

В iOS 8.0 вы можете настроить высоту пользовательской клавиатуры в любое время после того, как ее основной вид первоначально отображается на экране.

person Marat Ibragimov    schedule 06.12.2016
comment
Я реализую пользовательское расширение клавиатуры, я не реализую его только в своем приложении. Поэтому не могли бы вы предоставить свой вклад, связанный с этим. Пожалуйста, проверьте мой вопрос, я обновил его. - person Pritesh Raiyani; 06.12.2016
comment
Я знаю, я имею в виду, что вам нужно реализовать viewWillAppear в вашем UIInputViewController вашей пользовательской клавиатуры, self.view на самом деле является вашим пользовательским представлением клавиатуры. - person Marat Ibragimov; 06.12.2016
comment
см. эту ссылку с рекомендациями: - person Marat Ibragimov; 06.12.2016
comment
comment
вы можете сохранить ограничение на свойство внутри вашего UIInputViewController и использовать его для увеличения представления, как только они появятся при изменении константы ограничения - person Marat Ibragimov; 06.12.2016
comment
конечно, ваш пользовательский вид должен быть добавлен с верхними, ведущими, нижними, конечными ограничениями в основной вид, прежде чем вы сможете его изменить. - person Marat Ibragimov; 06.12.2016
comment
Это решение только для увеличения пользовательской высоты клавиатуры, а не для второго вопроса. если вы знаете, пожалуйста, мне тоже - person Pritesh Raiyani; 07.12.2016
comment
вам нужно добавить свой пользовательский вид в основной вид (self.view) с ограничениями на верх, ведущий, нижний и конечный, вы должны сделать это программно с помощью NSLayoutConstraint, после его добавления настраиваемый вид будет увеличиваться или уменьшаться в соответствии с основным ограничение по высоте - person Marat Ibragimov; 07.12.2016

Добавление пользовательского представления поверх пользовательской клавиатуры можно выполнить так же, как вы делаете это в своем приложении. Чтобы увеличить высоту пользовательской клавиатуры более чем на 216, вам необходимо добавить ограничение по высоте к вашему inputView в KeyboardViewController. Это можно сделать следующим образом:

let constraintForHeight:NSLayoutConstraint = NSLayoutConstraint(item: self.inputView, attribute: NSLayoutAttribute.Height, relatedBy: NSLayoutRelation.Equal, toItem: nil, attribute: NSLayoutAttribute.NotAnAttribute, multiplier: 0, constant: height)
constraintForHeight.priority = UILayoutPriorityDefaultHigh

self.inputView.addConstraint(constraintForHeight)

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

person KrishnaCA    schedule 06.12.2016