Разработка интерфейса приложения
Вероятно, вы заметили, что приведенный выше класс согласован с двумя разными протоколами UIImagePickerControllerDelegate и UINavigationControllerDelegate. Поскольку класс UllmagePickerController является подклассом UINavigationController, мы должны согласовать данный класс с обоими этими протоколами. Оба метода из протокола UINavigationControllerDelegate являются необязательными, и поэтому ни тот ни другой нам вообще не нужен для того, чтобы воспользоваться селектором изображений. Но в то же время мы должны соблюдать протокол, иначе компилятор выдаст предупреждение о несоответствии протоколу.
Вы могли обратить внимание и на то, что мы оперируем экземпляром объекта типа UllmageView для отображения выбранного изображения, тогда как для отображения выбранного видеосюжета ничего подобного нет. Дело в том, что в состав комплекта UIKit не входит общедоступный класс, аналогичный UllmageView и специально предназначенный для отображения видеосодержимого. Вместо этого мы воспользуемся объектом класса MPMoviePlayerController, выбрав его свойство view и введя его в иерархию представлений. Это не совсем обычный способ применения контроллера представления, но он фактически одобрен компанией Apple для отображения видеосодержимого в иерархии представлений.
Вся остальная часть приведенного нашего кода довольно проста и не требует особых пояснений, поэтому сохраните заголовочный файл, а затем дважды щелкните на файле CameraViewController.xib, чтобы отредактировать его в Interface Builder.
Перетащите два объекта Round Rect Button из библиотеки в окно View. Расположите их один над другим, выровняв нижнюю кнопку по голубой линии разметки снизу. Дважды щелкните на верхней кнопке и присвойте ей метку New Photo or Video. Затем дважды щелкните на нижней кнопке и присвойте ей метку Pick from Library. Перетащите объект Image View из библиотеки, расположив его над кнопками. Разверните его так, чтобы он занял все пространство текущего представления над кнопками.
Теперь нажмите клавишу Ctrl и проведите соединительную линию от пиктограммы Files Owner к графическому представлению и выберите выход imageView. Еще раз перетащите курсор от пиктограммы Files Owner, но на этот раз — к кнопке New Photo or Video и выберите выход takePictureButton.
- Дата: 30-01-2015, 18:29