iOS. Приемы программирования
Шрифт:
В
Если вы намереваетесь изменять структуру пользовательского интерфейса, когда клавиатура выводится на экран и когда она с него убирается, то вам никак не обойтись без слушания клавиатурных уведомлений. Сообщения делегата UITextField запускаются всякий раз, когда начинается редактирование текстового поля, независимо от того, есть ли в этот момент на экране клавиатура. Не забывайте, что пользователь может подключить к устройству iOS беспроводную клавиатуру (с помощью Bluetooth). С этой клавиатуры он сможет редактировать содержимое текстовых полей, а также любых других информационных объектов вашего приложения. При подключении клавиатуры по Bluetooth виртуальная клавиатура на экране отображаться не будет. И если в вашем приложении пользовательский интерфейс станет обязательно перестраиваться, как только начинается ввод данных с клавиатуры, то при подключении беспроводной клавиатуры по Bluetooth такая перестройка окажется ненужной.
Теперь, если пользователь попытается ввести какой-либо текст в текстовый вид, клавиатура «выплывет» на экран снизу, и мы присвоим значение высоты клавиатуры в качестве нижней границы содержимого текстового вида. Таким образом, текстовый вид уменьшится в размерах и пользователь сможет вводить в него столько текста, сколько потребуется, — клавиатура не будет заслонять текст.
1.21. Добавление кнопок в пользовательский интерфейс с помощью UIButton
Постановка задачи
Необходимо отобразить в пользовательском интерфейсе кнопку и обрабатывать события касания, связанные с этой кнопкой.
Решение
Воспользуйтесь
Обсуждение
Кнопки позволяют пользователям инициировать в приложениях те или иные действия. Например, пакет настроек iCloud в приложении Settings (Настройки) содержит кнопку Delete Account (Удалить учетную запись) (рис. 1.57). Если нажать эту кнопку, в приложении iCloud произойдет действие. Оно зависит от конкретного приложения. Не все приложения действуют одинаково, если пользователь нажимает в них кнопку Delete (Удалить). Как мы вскоре увидим, на кнопках могут присутствовать как изображения, так и текст.
Рис. 1.57. Кнопка Delete Account (Удалить учетную запись)
Кнопка может присваивать действия различным инициаторам (триггерам). Например, кнопка может производить одно действие, когда пользователь нажимает ее пальцем, и другое — когда убирает с нее палец. Эти движения становятся действиями, а объекты, реализующие действия, — их целями. Определим кнопку в файле реализации контроллера нашего вида:
По умолчанию высота UIButton в iOS 7 указывается как 44.0f пункта.
Теперь переходим к реализации кнопки (рис. 1.58):
Двести лет вместе. Часть I. В дореволюционной России
Документальная литература:
публицистика
рейтинг книги
Воронцов. Перезагрузка. Книга 5
5. Воронцов. Перезагрузка
Фантастика:
попаданцы
альтернативная история
фэнтези
фантастика: прочее
рейтинг книги
Князь Андер Арес 2
2. Андер Арес
Фантастика:
рпг
аниме
фэнтези
фантастика: прочее
рейтинг книги
Убитый манекен : сборник
Детективы:
классические детективы
маньяки
юридический триллер
рейтинг книги
Том 6. Дураки на периферии
6. Собрание сочинений
Поэзия:
драматургия
рейтинг книги
Газлайтер. Том 1
1. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
рейтинг книги
Медиатор
11. Ушедший Род
Фантастика:
боевая фантастика
аниме
фэнтези
попаданцы
рейтинг книги
Дорога в рай (Рассказы)
Интеллектуальный бестселлер. Читает весь мир.
Проза:
современная проза
рейтинг книги
Я есть Закон! Том 2
2. Я есть Закон!
Фантастика:
юмористическая фантастика
рпг
попаданцы
рейтинг книги
История религии (Том 1)
Религия и эзотерика:
религия
рейтинг книги