Я пытаюсь подключить пользовательскую клавиатуру к UITextField, и клавиатура будет реагировать на различные ориентации вида (альбомная, портретная и т. Д.).Короче говоря, проблема в том, что, хотя клавиатура отображается, при реагировании на ориентацию вида при повороте устройства размеры клавиатуры все перепутались, и я не совсем уверен, как установить рамки / границы клавиатуры.правильно.Надеюсь, кто-то здесь может мне помочь!
Вот мой дизайн:
Клавиатура построена из подкласса UIViewController (из Xib).Существует два вида: landscapeKeyboardView и PortraitKeyboardView.
Клавиатура присоединяется к UITextField через свойство «inputView».
Поворот вида с клавиатуры выполняется с помощью функции:
-(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientationduration:(NSTimeInterval)duration
{
if ((toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft) || (toInterfaceOrientation == UIInterfaceOrientationLandscapeRight))
{
self.view = self.landscapeKeyboardView;
}else if((toInterfaceOrientation == UIInterfaceOrientationPortrait) || (toInterfaceOrientation == UIInterfaceOrientationPortraitUpsideDown))
{
self.view = self.portraitKeyboardView;
}
}
Вращение происходит, но после поворота все размеры вида перепутались.Я также попытался вручную установить рамку или границы представления self.view или landscapeKeyboardView или PortraitKeyboardView, и ни один из них, казалось, не решил проблему.
Кто-нибудь знает, как обойти эту проблему?Или есть намного лучший шаблон дизайна для пользовательских клавиатур?
Спасибо!