Перемещение кнопок при повороте
Сохраните этот файл и перейдите к программе Interface Builder. Проведите линию от пиктограммы Files Owner к каждой из шести кнопок и соедините их с соответствующим выходом. Соединив все шесть кнопок, сохраните nib-файл и вернитесь в среду Xcode.
СОВЕТ. Обратите внимание на описанную выше шаблонную процедуру. Мы добавили объявления выходов в заголовочный файл и сохранили его, так что программа Interface Builder знает об их существовании. Затем отредактировали nib-файл, чтобы связать выходы. Мы будем часто выполнять эту операцию. Одна из самых больших ошибок, которые делают новички, разрабатывающие приложения для системы iOS, заключается в том, что они забывают сохранить заголовочный файл, прежде чем переключиться обратно на программу Interface Builder, чтобы связать выходы.
Для того чтобы переместить кнопки и лучше использовать пространство экрана, необходимо заменить метод.
В более ранних версиях пакета iOS SDK библиотеки Core Graphics не было среди шаблонов проектов в среде Xcode, и ее следовало добавлять вручную. Теперь этот этап не обязателен, потому что библиотека Core Graphics автоматически включается при использовании шаблонов Xcode для создания приложения для устройства iPhone или iPad.
Сохраните этот код. Потом соберите и выполните приложение, чтобы увидеть его в действии. Попробуйте повернуть устройство и посмотреть, как изменится положение кнопок.
Переключение представлений
Перемещение элементов управления, описанное в предыдущем разделе, может быть слишком утомительным занятием, особенно для сложных интерфейсов. Было бы прекрасно, если бы мы могли спроектировать разные представления для портретного и альбомного режимов, а затем переключать их при повороте телефона.
Да, мы можем это сделать. Однако это довольно сложная процедура, которую следует применять только для очень сложных интерфейсов. В то время как элементы управления обоих представлений могут инициировать одни и те же действия, нам потребуются два совершенно разных набора выходов — по одному для каждого представления, — что значительно увеличивает сложность программы. Тем не менее эту сложность ни в коем случае нельзя считать непреодолимой, и существуют ситуации, в которых именно это решение является оптимальным. Испытаем его. Для того чтобы продемонстрировать его применение, создадим приложение с разными представлениями для портретной и альбомной ориентации. Несмотря на то что наш интерфейс недостаточно сложен, чтобы обосновать использование такого изощренного метода, именно его простота позволит прояснить этот процесс.
Создайте новый проект в среде Xcode, используя шаблон проекта View-based Application, как всегда (с другими шаблонами мы начнем работать в следующей главе). Назовите этот проект Swap. Приложение будет запускаться в портретном режиме с двумя кнопками, расположенными одна над другой.
Поворот телефона приводит к переключению на совершенно другое представление, специально разработанное для альбомной ориентации. Это представление также содержит две кнопки с теми же самыми метками , поэтому пользователю не обязательно знать, что перед ним совершенно другое представление.
- Дата: 25-11-2014, 23:33