iPhone предотвращает поворот клавиатуры в горизонтальное положение - PullRequest
2 голосов
/ 22 декабря 2009

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

Теперь я понимаю, что существует недокументированный способ установить ориентацию плеера, но я бы предпочел не пробовать это и получить отказ в магазине приложений. (К вашему сведению это оно):

[moviePlayer setOrientation:UIDeviceOrientationPortrait animated:NO]; // not legal?

Я попытался переопределить метод автоматического поворота в моем контроллере представления:

   -(BOOL)shouldAutorotateToInterfaceOrientation:   (UIInterfaceOrientation)interfaceOrientation { return NO; }

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

Мне просто интересно, есть ли у кого-нибудь еще какие-либо идеи относительно законного способа держать клавиатуру в портретном положении, даже когда проигрыватель фильмов хочет перевести систему в горизонтальное положение.

спасибо, Пат

1 Ответ

2 голосов
/ 22 декабря 2009

Когда iPhone поворачивается, представлению «верхнего уровня» отправляется уведомление, и это представление отвечает за размещение его подпредставлений.

Если ваш UIWebView является представлением верхнего уровня, он будет автоматически самовосстановлен. Однако, если вы помещаете UIWebView в другое представление и имеете контроллер представления для этого представления «контейнера», реализуйте метод shouldAutorateToInterfaceOrientation следующим образом:

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
        return NO;
}

Это, вероятно, помешало бы UIWebView узнать, что интерфейс был повернут. Обратите внимание, что я на самом деле не пробовал это, но это должно сработать.


Из этой ТАКИЕ статьи

...