iOS. Приемы программирования
Шрифт:
• title — строка, которую пользователь увидит в верхней части вида-предупрежения. На рис. 1.2 эта строка — Title;
• message — сообщение, которое отображается у пользователя. На рис. 1.2 для этого сообщения задано значение Message;
• delegate — опциональный объект-делегат, который мы передаем виду-предупреждению. Затем этот объект будет получать уведомление при каждом изменении состояния предупреждения, например, когда пользователь нажмет на экранную кнопку, изображенную в этом виде. Объект, передаваемый данному параметру, должен соответствовать протоколу UIAlertViewDelegate;
• cancelButtonTitle — строка, которая будет присваиваться
• otherButtonTitles — надписи на других кнопках, тех, которые вы хотите отобразить в виде-предупреждении. Разделяйте такие надписи запятыми. Нужно убедиться, что в конце списка названий стоит значение nil, называемое сигнальной меткой. Этот параметр не является обязательным.
Можно создать предупреждение вообще без кнопок. Но такое окно пользователь никак не сможет убрать с экрана. Создавая такой вид, вы как программист должны позаботиться о том, чтобы он убирался автоматически, например, через 3 секунды после того, как появится. Вид-предупреждение без кнопок, который не убирается автоматически, — это настоящее бедствие, с точки зрения пользователя. Ваше приложение не только получит низкие оценки на App Store за то, что вид-предупреждение блокирует пользовательский интерфейс. Велика вероятность, что вашу программу вообще удалят с рынка.
Виды-предупреждения можно оформлять с применением различных стилей. В классе UIAlertView есть свойство alertViewStyle типа UIAlertViewStyle:
Вот что делает каждый из этих стилей:
• UIAlertViewStyleDefault — стандартный стиль вида-предупреждения, подобное оформление мы видели на рис. 1.2;
• UIAlertViewStyleSecureTextInput — при таком стиле в виде-предупреждении будет содержаться защищенное текстовое поле, которое станет скрывать от зрителя символы, вводимые пользователем. Такой вариант предупреждения вам подойдет, например, если вы запрашиваете у пользователя его учетные данные для дистанционного банковского обслуживания;
• UIAlertViewStylePlainTextInput — при таком стиле у пользователя будет отображаться незащищенное текстовое поле. Этот стиль отлично подходит для случаев, когда вы просите пользователя ввести несекретную последовательность символов, например номер его телефона;
• UIAlertViewStyleLoginAndPasswordInput — при таком стиле в виде-предупреждении будет два текстовых поля: незащищенное — для имени пользователя и защищенное — для пароля.
Если вам необходимо получать уведомление, когда пользователь начинает работать с видом-предупреждением,
В качестве примера отобразим предупреждение пользователю и спросим, хочет ли он перейти на сайт в браузере Safari после того, как нажмет ссылку на этот сайт, присутствующую в нашем пользовательском интерфейсе. В предупреждении будут отображаться две кнопки: Yes (Да) и No (Нет). В делегате вида-предупреждения мы увидим, какая кнопка была нажата, и предпримем соответствующие действия.
Сначала реализуем два очень простых метода, которые возвращают надпись на той или иной из двух кнопок:
Следующий шаг — создать и отобразить для пользователя окно с предупреждением:
Вид-предупреждение будет выглядеть примерно как на рис. 1.3.
Рис. 1.3. Вид-предупреждение с кнопками No (Нет) и Yes (Да)