Исходное значение


Исходное значение

Задайте исходное значение contentSize для scrollView в viewDidLoad. Не забудьте: мы сообщаем прокручиваемому представлению, что размеры контента совпадают с размерами представления, в котором оно находится.

Включите в DrinkDetailViewController атрибут с именем scrollView для хранения ссылки на UlScrollView. Объявите поле и свойство IBOutlet, включите директиву @synthesize в файл и освободите ссылку в dealloc.

Свяжите новое свойство с UlScrollView в Interface Builder.

Почему прокрутка все еще не работает? Подумайте, что сейчас отображается на экране: прокручиваемое представление, основное представление и клавиатура.

Выберите текстовое поле, на экране появляется клавиатура. Но ничего не прокручивается!

Клавиатура изменяет видимую область.

Проблема заключается в том, что клавиатура изменила размер видимой области, но прокручиваемое представление понятия не имеет о произошедшем. Оно по-прежнему думает, что для отображения контента в его распоряжении остается весь экран, и с его точки зрения свободного места достаточно. Мы должны сообщить прокручиваемому представлению, что с появлением клавиатуры видимая область уменьшилась.

iOS только сообщает о появлении клавиатуры.

iOS знает лишь то, что клавиатура находится на экране, а не то, как ваше приложение должно поступать при ее появлении. Это зависит уже от вас!
А как было бы замечательно, если бы iOS могла просто сообщить приложению о появлении клавиатуры. Но это, конечно, только мечты.

iOS оповещает приложение о клавиатуре.

Взаимодействие с клавиатурой и прокручиваемым представлением приводит нас к возможности iOS, которую мы еще не рассматривали: механизму оповещений. Наряду с событиями компонентов, передаваемыми в приложениях, существуют события системного уровня, называемые оповещениями; они передаются iOS. Чтобы ваше приложение имело информацию о том, что происходит с клавиатурой, необходимо организовать обработку этих системных событий.

Василий активизирует поле названия коктейля, и поле становится первым ответчиком. Теперь система iOS должна отобразить клавиатуру.

iOS отправляет оповещение стандартному объекту NSNotificationCenter с именем UIKeyboardDidShowNotification.

NSNotificationCenter обращается с вызовом по зарегистрированному селектору и передает информацию об объекте, инициировавшем событие, и дополнительную информацию для конкретного события.

NSNotificationCenter проверяет, зарегистрировались ли какие либо объекты на оповещение о данном событии. При регистрации объекты указывают селектор (метод), который должен вызываться при наступлении события.
  • Дата: 20-12-2014, 23:33

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

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



Отзывы о статье: Исходное значение

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