2015-02-18 2 views
3

Я работал на пользовательской клавиатуре iOS (в файле .xib), но мне не удалось изменить высоту в раскадровке. Есть ли способ изменить высоту клавиатуры в раскадровке или мне нужно найти способ сделать это программно?Как изменить высоту пользовательской клавиатуры iOS?

ответ

1

Вы хотите проверить этот сайт. Он предоставляет много информации! custom keyboard

+0

Итак, единственный способ сделать это программно? – smecperson

+0

кажется, что это единственный способ – user2277872

4

Вот мое решение, как Apple Documentation Предлагает:

Вы можете регулировать высоту первичного просмотра пользовательской клавиатуры с помощью Auto Layout. По умолчанию пользовательская клавиатура имеет размер, соответствующий клавиатуре системы, в зависимости от размера экрана и ориентации устройства. Ширина пользовательской клавиатуры всегда устанавливается системой, чтобы она соответствовала текущей ширине экрана. Чтобы отрегулировать высоту пользовательской клавиатуры, измените ограничение высоты его основного вида.

override func viewWillAppear(animated: Bool) { 
    let desiredHeight:CGFloat! 
    if UIDevice.currentDevice().userInterfaceIdiom == .Phone{ 
      desiredHeight = 259 
    }else{ 
     if UIDevice.currentDevice().orientation == .Portrait{ 
      desiredHeight = 260 
     }else { 
      desiredHeight = 300 
     } 
    } 
    let heightConstraint = NSLayoutConstraint(item: view, attribute: NSLayoutAttribute.Height, relatedBy: NSLayoutRelation.Equal, toItem: nil, attribute: NSLayoutAttribute.NotAnAttribute, multiplier: 1.0, constant: desiredHeight) 
    view.addConstraint(heightConstraint) 

} 

документация сказал, вы можете регулировать высоту клавиатуры после того, как макет, так что вы можете использовать viewWillAppear, чтобы сделать это.

+0

Должно быть принято! – user3404693