A​ction​S​heet, Alert и UIAlertController

Самое главное для понимания A​ction​S​heet и Alert это то, что это UIVewController, который отображается модально. Синтаксис написания обоих контроллеров — одинаковый. Различается лишь стиль, указанный в конструкторе UIAlertController.  A​ction​S​heet  служит для выбора пользователем больше чем двух действий. Он отображается внизу экрана для iPhone/iPod Touch и popover для iPad. Alert служит для выбора двух действий (да/нет, больше/меньше и пр.). Alert отображается в центре экрана.

A​ction​S​heet​ имплементируется следующим конструктором:

Обратите внимание на последний параметр, переданный в конструктор — он то и определяет что это будет A​ction​S​heet. Далее добавим действия:

Для iPad нужно задать параметры popoverController, для того чтобы знать куда будет показывать стрелочка этого контроллера

someSenderButton — это кнопка, которая вызывает этот ActionSheet, хотя это может быть любой объект UI. На iPad не появится кнопка «Cancel» однако если нажать за пределами  popoverController’а, то замыкание для  Action Cancel все равно выполнится. 

Ну и показать контроллер поможет нам метод viewController’а presentViewController:

Alert

Как видите, почти то же самое что и ActionSheet, только в конструкторе в последний параметр передано preferredStyle: .Alert. Также мы добавили текстовое поле для запроса информации от пользователя. Для получения введенного текста используем следующий подход:

возвращает опцианальный массив текстовых полей (их же может и не быть) типа [Any Object]?. Мы берем первый элемент из этого массива и приводим его  UITextField.

 

Что почитать дальше?

Реальный пример работы A​ction​S​heet, Alert и UIAlertController можно увидеть в статье Пример UIAlertController

Метки: , ,

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*