Такое разное редактирование


Такое разное редактирование

Отображение данных — это замечательно, но удобство приложения проявляется в области редактирования. DrinkMixer выглядит вполне достойно, в нем используется настройка ячеек табличного представления, а для отображения данных задействованы словари в списках plist. Это удобное справочное приложение, и мы заложили основу для добавления новых рецептов. Пора заняться модификацией данных: сохранением, редактированием и сортировкой. В этой главе рассматриваются основные схемы редактирования, вы узнаете, как навигационный контроллер помогает пользователям ориентироваться в вашем приложении.

Василий собирается ввести новый рецепт.

Вася решил опробовать приложение DrinkMixer с новым представлением для ввода рецептов. Сразу же появились первые проблемы.

С представлением возникли проблемы: некоторые поля оказались недоступны для пользователя, ему мешает клавиатура.

Мы снова столкнулись с проблемой, которая уже встречалась нам в приложении InstaEmail. Когда Василий выбирает элемент, тот получает фокус (становится первым ответчиком) и дает команду iOS отобразить клавиатуру. Вроде бы вполне разумно, однако.

Как мы решали проблему с клавиатурой в тот раз? Сработает ли это решение сейчас? И что должно делать представление при появлении клавиатуры?

В тот раз сработал отказ от роли первого ответчика. Это решение подойдет для поля названия но что делать с ингредиентами и инструкциями? Их закрывает клавиатура. Открытая клавиатура оставляет меньше места для работы, придется использовать прокрутку. В этом нам поможет класс UlScrollView.

Класс UlScrollView очень похож на основной класс представления UlView, который мы уже использовали, но он умеет прокручивать представление для отображения скрытых элементов (кнопок, текстовых полей и т. д.). Он отображает полосу прокрутки и управляет ей, обеспечивает масштабирование и панорамирование, а также управляет тем, какая часть внутреннего представления видна на экране. Для этого ему необходимо знать общие размеры контента и размеры области, доступной для отображения (называемой «кадром»). По этим данным UlScrollView вычисляет все остальное.

Вспомните, что в CocoaTouch компоненты являются субклассами UlView. Прокручиваемому представлению необходима лишь информация о субпредставлениях, которыми оно должно управлять — один огромный элемент UHmageView с крупным изображением, которое можно рассматривать по частям, или же многочисленные текстовые поля, кнопки и надписи.

Чтобы представление прокручивалось, необходимо переместить компоненты в UlScrollView вместо UlView. Пора вернуться к Interface Builder.
  • Дата: 20-12-2014, 13:24

Предыдущие статьи сайта:

Понравилась статья? Ставь лайки, рассказывай друзьям!



Отзывы о статье: Такое разное редактирование

Технологии, секреты и фишки Apple: Iphone, iPad, iPod