iOS. Приемы программирования
Шрифт:
Рис. 1.58. В центре экрана находится системная кнопка
В коде из данного примера мы применяем метод setTitle: forState: кнопки, задавая для нее
Аналогичная ситуация складывается и с действиями, инициируемыми кнопкой. Мы используем метод addTarget: action: forControlEvents:, чтобы указать для нашей кнопки два действия:
• действие, инициируемое, когда пользователь нажимает кнопку;
• другое действие, происходящее, когда пользователь уже нажал кнопку и убирает палец с экрана. Такое событие называется окончанием нажатия кнопки (touch-inside-up).
Еще одна вещь, которую необходимо знать о UIButton, заключается в том, что кнопке обязательно должен быть присвоен тип. Присваивание выполняется путем вызова метода класса buttonWithType на этапе инициализации, как показано в приведенном коде-примере. В качестве параметра этого метода передайте значение типа UIButtonType:
Кроме того, на кнопке может находиться изображение, которое заменяет ее стандартный внешний вид. Если у вас есть изображение или серия изображений, которые вы хотите присвоить различным состояниям кнопки, убедитесь, что кнопка относится к типу UIButtonTypeCustom. Здесь я подготовил два изображения: одно для обычного состояния кнопки, а другое — для нажатого (утопленного). Сейчас я создам кнопку и присвою ей два этих изображения:
На
Рис. 1.59. Кнопка с фоновым изображением
1.22. Показ изображений с помощью UIImageView
Постановка задачи
Требуется демонстрировать пользователям изображения в графическом интерфейсе программы.
Решение
Воспользуйтесь классом UIImageView.
Обсуждение
Класс UIImageView — один из наименее сложных в iOS SDK. Как вы знаете, существует особый вид, в котором демонстрируются изображения. Чтобы демонстрировать изображения, нужно всего лишь инстанцировать объект типа UIImageView и добавлять его к вашим видам. Например, у меня есть картинка Apple MacBook Air и я хочу показать ее в виде для изображений. Начнем с файла реализации контроллера:
Теперь, запустив программу, мы увидим такую картинку, как на рис. 1.60.
Рис. 1.60. Вид с изображением, которое довольно велико и не умещается на экране
Отмечу, что картинка Apple MacBook Air, которую я загружаю в этот вид, имеет разрешение 980 x 519 пикселов и, конечно же, не умещается на экране iPhone. Как решить эту проблему? Для начала нужно убедиться в том, что мы инициализируем наш вид для изображений с помощью метода initWithFrame:, а не initWithImage:, поскольку второй метод задает высоту и ширину вида с изображением равными высоте и ширине самого изображения. Итак, сначала решим эту проблему:
Двести лет вместе. Часть I. В дореволюционной России
Документальная литература:
публицистика
рейтинг книги
Воронцов. Перезагрузка. Книга 5
5. Воронцов. Перезагрузка
Фантастика:
попаданцы
альтернативная история
фэнтези
фантастика: прочее
рейтинг книги
Князь Андер Арес 2
2. Андер Арес
Фантастика:
рпг
аниме
фэнтези
фантастика: прочее
рейтинг книги
Убитый манекен : сборник
Детективы:
классические детективы
маньяки
юридический триллер
рейтинг книги
Том 6. Дураки на периферии
6. Собрание сочинений
Поэзия:
драматургия
рейтинг книги
Газлайтер. Том 1
1. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
рейтинг книги
Медиатор
11. Ушедший Род
Фантастика:
боевая фантастика
аниме
фэнтези
попаданцы
рейтинг книги
Дорога в рай (Рассказы)
Интеллектуальный бестселлер. Читает весь мир.
Проза:
современная проза
рейтинг книги
Я есть Закон! Том 2
2. Я есть Закон!
Фантастика:
юмористическая фантастика
рпг
попаданцы
рейтинг книги
История религии (Том 1)
Религия и эзотерика:
религия
рейтинг книги