Обрабатываем переход страницы в активное состояние в Safari для iOS
Обрабатываем переход страницы в активное состояние в Safari для iOSВ HTML5 появились новые атрибуты событий (подробнее), в том числе для объекта window
такие атрибуты как onpageshow
и onpagehide
.
onpageshow
- скрипт будет запущен когда окно становится видимым;onpagehide
- скрипт будет запущен когда окно скрывается.
В Safari для iOS, если пользователь не закрыл Вашу страницу, а отправил приложение в фон (нажав кнопку home), а затем снова открыл Safari, то сработает обработчик onpageshow
. Таким образом можно отследить переход в активное состояние вашей страницы или Web-приложения для iPad, iPhone или iPod Touch.
Локализация приложений при разработке в XCode 4
Локализация приложений при разработке в XCode 4Введение
Статья даёт общее представление о локализации приложений в XCode, основываясь на моём опыте разработки первого приложения под iPhone. Под локализацией здесь я буду в основном подразумевать перевод фраз на разные языки, но следует помнить, что локализация включает в себя кроме этого форматирование дат, цен и т.д. в специфичном для каждой культуры виде, а также что графика тоже требует локализации.
Локализацию приложения в XCode можно условно разделить на две части:
- локализация строк, которые назначаются программно в коде;
- локализация элементов, выстроенных в Interface Builder (.xib, .nib, .storyboard - файлов).
Примечание. В дальнейшем все что будет упоминаться касательно .xib файлов должно быть справедливо и для .nib и .storyboard файлов.
JavaScript событие поворота устройства iOS и Android
JavaScript событие поворота устройства iOS и AndroidПри повороте устройства браузер отсылает событие orientationchange
. Это актуально для обеих операционных систем. Но подписка на это событие может осуществляться по разному. При проверке на разных устройствах iPhone, iPad и Samsung GT (Android), выяснилось что в iOS срабатывает следующий вариант установки обработчика:
window.onorientationchange = handler;
А для Android подписка осуществляется иначе:
window.addEventListener( 'orientationchange', handler, false );
Примечание: В обоих примерах handler
- функция-обработчик
Текущую ориентацию экрана можно узнать проверкой свойства window.orientation
, принимающего одно из следующих значений:
- 0 — нормальная портретная ориентация
- -90 — альбомная при повороте по часовой стрелке
- 90 — альбомная при повороте против часовой стрелки
- 180 — перевёрнутая портретная ориентация (пока только для iPad)
Для iOS 4.2 и выше есть более широкие возможности по отслеживанию точных углов наклона устройства в трёхмерном пространстве, а также некоторые другие плюшки гироскопа и акселерометра. Если интересно: документация на сайте Apple по событиям DeviceOrientationEvent и DeviceMotionEvent, статья на Хабрахабр.
Автоматическое изменение размеров текста в iOS
Автоматическое изменение размеров текста в iOSSafari для устройств с iOS (iPhone, iPod touch и iPad) автоматически регулирует размеры текста, даже если вы отключили scale для страницы с помощью тега viewport
. Это может приводить к изменению размеров текста, например при повороте устройства. Для управления фичей служит css свойство -webkit-text-size-adjust
, которое может принимать значения none | auto | %value
. Соответственно, чтобы отключить регуляцию размеров текста браузером, достаточно задать свойству значение none
:
-webkit-text-size-adjust:none;
Область просмотра (viewport) Safari для iPhone и iPod touch, а также iPad
Область просмотра (viewport) Safari для iPhone и iPod touch, а также iPadВ разделе Configuring the Viewport документации Apple приведены размеры элементов интерфейса мобильного браузера Safari для iPhone и iPod touch в портретной ориентации. Для альбомной ориентации размеры в явном виде не указаны, в то же время высота панели кнопок (button bar) отличается и равна 32 пикселям.