Уроки iPhone SDK: Создание простой программы для чтения RSS-лент. Уроки iPhone SDK: (Часть 1) Создание файла настроек, отображаемого в меню Settings
Май 15

В этом уроке мы создадим приложение на основе представления (view-based), работающее исключительно в альбомной ориентации (landscape-mode only) (экран по ширине больше, чем по высоте) вместо привычной книжной (где экран выше и уже).

Создаем новое view-based приложение.

Откройте Xcode.

Создайте новый проект iPhone OS Project, выполнив File -> New Project

picture-3

Убедитесь, что пункт “Application” (Приложение) относится к меню “iPhone OS“, затем выберите “View-Based Application“.

Щелкнув на кнопке “Choose...”, наберите в поле “Save As:” название “LandscapeOnlyViewBasedTutorial“, подтвердив его кнопкой “Save“.

picture-4

При желании можно воспользоваться кнопкой “Build and Go” на панели инструментов (в крайнем слева раскрывающемся меню должна быть выбрана опция “Simulator | Debug“) — приложение запустится в симуляторе, но пока в книжной ориентации. Пора это исправить (не забудьте выйти из iPhone Simulator перед продолжением).

Переходим от книжной ориентации к альбомной.

Для начала добавим новую пару ключ–значение в файл Info.plist.

В меню проекта “Groups & Files” откройте папку “Resources“. Щелкнув правой кнопкой мыши на файле Info.plist, выберите Open As > Source Code File.

picture-5

В нижней части файла (прямо перед тэгом </dict>) добавьте следующий код:

1
2
UIInterfaceOrientation
UIInterfaceOrientationLandscapeRight

Получив в результате:

picture-6

Сохраните изменения.

Если попытаться запустить приложение сейчас, оно откроется в альбомном формате, но тут же перейдёт в книжный. Еще один момент — ненужная строка состояния в правой части экрана. Значит, придется поработать еще.

Теперь откройте папку “Classes“, выделив файл LandscapeOnlyViewBasedTutorialAppDelegate.m.

Найдите метод applicationDidFinishLaunching и добавьте приведенную ниже строку (после [window makeKeyAndVisible];):

1
[[UIDevice currentDevice] setOrientation:UIInterfaceOrientationLandscapeRight];

picture-7

Снова сохраните изменения.

picture-11

При попытке редактирования проекта появляется предупредительная надпись - warning: ‘UIDevice’ may not respond to ‘-setOrientation:’. Ее можно смело игнорировать. Мы работаем с не вошедшей в официальную документацию опцией UIDevice.

ДОПОЛНЕНИЕ: Сообщение setOrientation для UIDevice нужно только для запуска симулятора iPhone Simulator сразу с нужной ориентацией экрана. Им можно пренебречь, если речь идет о тестировании на устройстве и/или “конечном” продукте. Тогда предупреждение выводиться не будет.

Теперь выберите файл LandscapeOnlyViewBasedTutorialViewController.m и отыщите метод shouldAutorotateToInterfaceOrientation.

Строку” return” откорректируйте следующим образом:

1
return (interfaceOrientation == UIInterfaceOrientationLandscapeRight);

picture-8

Сохранив изменения, выполните “Build and Go“. Па-бам! Перед нами работающее исключительно в альбомной ориентации приложение. Проверить это можно с помощью команд из меню HardwareRotate Left (Повернуть влево) и Rotate Right (Повернуть вправо). Экран останется в прежнем положении.

picture-10

Чтобы закрепить успех, добавим несколько дополнительных элементов (выйдите из iPhone Simulator, если еще не сделали этого).

Добавляем в представление элементы интерфейса.

Откройте папку “Resources” и дважды щелкните на файле LandscapeOnlyViewBasedTutorialViewController.xib.

Результатом станет открывшийся в редакторе Interface Builder файл .xib. В окне “View” щелкните на стрелку вращения в правом верхнем углу, переведя представление в альбомный режим.

picture-13

Перетащите в представление несколько элементов пользовательского интерфейса из библиотеки Library (если библиотека не отображается, вызовите ее командой Tools > Library). Выберите следующие элементы: Navigation Bar (поместите под панелью состояния), Label (выровняйте по левому краю под панелью навигации) и Round Rect Button (выровняйте по правому краю в нижнем углу).

picture-12

(Чтобы присвоить кнопке название, дважды щелкните по ней.)
Снова сохраните изменения и запустите приложение кнопкой “Build and Go“.

picture-9

Похоже все три элемента отображаются так, как было настроено в редакторе Interface Builder, и не меняют положения даже при повороте симулятора. Отлично!

Приложение Landscape-mode-only для iPhone готово.

Текст оригинальной статьи на английском языке [здесь]

Уважаемые читатели, данный материал был переведен и подготовлен к публикации проектом LookApp.ru, при публикации на другом сайте ссылка на LookApp.ru обязательна.

1 звезда2 звезд3 звезд4 звезд5 звезд (2 голосов, средний: 5.00 из 5)
Загрузка ... Загрузка ...


Оставьте комментарий