Реализация заготовки представления QuartzFunView
В этом шаблоне уже имеется делегат приложения и контроллер представления. Но поскольку мы собираемся выполнять свои особые операции рисования в представлении, нам нужно создать подкласс UlView, где мы и будем рисовать, переопределяя метод drawRect.
Выбрав папку Classes, нажмите комбинацию клавиш , чтобы вызвать новый файловый помощник, а затем выберите шаблон Objective-С class из раздела Cocoa Touch Class. После этого выберите вариант UlView из раскрывающегося списка Subclass of. Напомним, что в данном случае используется подкласс UlView, а не подкласс NSObject, как это делалось раньше. Присвойте исходному файлу имя QuartzFunView.m и убедитесь в том, что создан также заголовочный файл.
Далее мы определим ряд констант, как это делалось в предыдущих проектах, но на этот раз константы потребуются не одному, а нескольким классам. Поэтому создадим для констант заголовочный файл.
Итак, выберите папку Classes и нажмите комбинацию клавиш , чтобы вызвать новый файловый помощник. Затем выберите шаблон Header File из раздела Mac OS X, а также заголовок С and C++и укажите имя файла Constants.h.
Нам потребуются еще два файла. Посмотрев, вы заметите, что в рассматриваемом здесь приложении имеется возможность выбрать произвольный цвет. В классе UlColor отсутствует метод, возвращающий произвольный цвет, поэтому нам придется написать код, выполняющий эту функцию. Этот код можно было бы поместить в класс контроллера, но поскольку у нас есть достаточный опыт программирования на Objective-C, поместим его в отдельную категорию в классе UlColor.
Еще раз выберите папку classes и нажмите комбинацию клавиш , чтобы вызвать новый файловый помощник. Далее выберите сначала шаблон Objective-C class, а затем шаблон Subclass of NSObject class под заголовком Cocoa Touch Class и присвойте исходному файлу имя JIColor-Random.m. Убедитесь также в том, что создан заголовочный файл.
Все объясняется достаточно просто. Мы объявляем статическую переменную, которая дает нам знать, происходит пи обращение к методу в первый раз. Когда этот метод вызывается в первый раз при выполнении приложения, мы задаем начальное значение для генератора произвольных чисел. Если мы сделаем это здесь, нам уже не придется полагаться на приложение, которое сделает то же самое где-нибудь еще, а следовательно, мы можем еще раз воспользоваться данной категорией в других проектах, создаваемых под iOS.
Убедившись в том, что генератор произвольных чисел инициирован начальным значением, генерируем три произвольных значения типа CGFioat в пределах от 0,0 до 1,0 и затем используем их для формирования нового цвета. А в альфа-канале устанавливаем значение 1,0, чтобы все произвольно формируемые цвета были непрозрачными.
- Дата: 12-01-2015, 09:34