Objective C является самим языком.
Какао, раньше NextStep, является API и временем выполнения, которое находится сверху Obj-C. Что-либо запускающееся с NS (для NextStep) является частью Какао, не частью языка.
Хотя вопрос относится только к PhoneGap и использованию iOS, и хотя этому уже ответили, я могу добавить несколько точек к более широкому вопросу обнаружения экранной ориентации с JS в 2019:
window.orientation
свойство удерживается от использования и не поддерживается [1 128] браузеры Android .There является более новым свойством, которое предоставляет больше информации об ориентации - screen.orientation
. Но это все еще экспериментально и не поддерживаемое [1 129] iOS Safari . Таким образом для достижения лучшего результата, вероятно, необходимо использовать комбинацию двух: const angle = screen.orientation ? screen.orientation.angle : window.orientation
.
Как @benallansmith упомянутый в [1 111] его событие комментария , window.onorientationchange
запущено прежде window.onresize
, таким образом, Вы не получите фактические размеры экрана, если Вы не добавите некоторую задержку после orientationchange события.
существует Экранный Плагин Ориентации Cordova для поддержки более старых мобильных браузеров, но я полагаю, что нет никакой потребности в использовании его в наше время.
был также screen.onorientationchange
событие, но оно удерживается от использования и не должно использоваться. Добавленный только для полноты ответа.
В моем примере использования, я не заботился очень о фактической ориентации, а скорее о фактической ширине и высоте окна, которое, очевидно, изменяется с ориентацией. Таким образом, я использовал resize
событие, чтобы не иметь дело с задержками между orientationchange
событие и реализовывать размеры окна:
window.addEventListener('resize', () => {
console.log(`Actual dimensions: ${window.innerWidth}x${window.innerHeight}`);
console.log(`Actual orientation: ${screen.orientation ? screen.orientation.angle : window.orientation}`);
});
Примечание 1: Я использовал синтаксис EcmaScript 6 здесь, удостоверьтесь, что скомпилировали его в ES5 в случае необходимости.
Примечание 2: window.onresize
событие также запущено , когда виртуальная клавиатура переключается , не только когда ориентация изменяется.