Могу ли я заблокировать ориентацию UIWebView с помощью Javascript или HTML? - PullRequest
4 голосов
/ 14 мая 2010

Я работаю над некоторым контентом HTML как часть приложения для iPad. Возможно, нам потребуется заблокировать содержимое UIWebView в портретном режиме, но приложение уже было отправлено в Apple, и единственная ссылка, которую я нашел для достижения этой цели, находится в этом вопросе , который дает этот пример

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

Но есть ли способ достичь того же в контенте UIWebViews с помощью HTML или Javascript?

1 Ответ

1 голос
/ 04 июня 2010

Вы можете получить уведомление при изменении ориентации , используя свойство onorientationchange тега body.

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

Обратите внимание, что в то время как вы можете предотвратить поведение по умолчанию для некоторых событий, используя такой код:

function touchMove(event) {
    // Prevent scrolling on this element
    event.preventDefault();
    ...
}

Ничего не говорится о предотвращении изменения ориентации:

iPhone OS Примечание. Метод protectDefault применяется для ввода мультитач и жест в iPhone OS 2.0 и более поздних версиях.
[выделение добавлено]

Кроме того, свойство ориентация доступно только для чтения.

Итак, вы должны написать свой собственный код, подобный тому, на который я ссылался выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...