Снимать сложно на 3.1 - PullRequest
       13

Снимать сложно на 3.1

0 голосов
/ 17 декабря 2009

Хорошо. Итак, у меня есть ViewController, который реализует UIImagePickerControllerDelegate. Отлично. У меня также есть вид наложения, идущий сверху моего сборщика. У меня есть кнопка на указанном оверлее, на которой я хочу вызвать takePicture.

Мой вопрос: как это сделать? takePicture - это не то, что мне нужно написать самому, не так ли? Это определено в UIImagePickerController, верно?

Подборщик модально нормально выскакивает, я вижу изображение через камеру, но когда я нажимаю кнопку, чтобы сделать снимок, у меня проблема.

У меня установлен этот код на кнопке:

[button addTarget:self action:@selector(takePicture) forControlEvents:UIControlEventTouchUpInside];   

С учетом вышеизложенного обычно я получаю ошибку NSException, но когда я вызываю takePicture из отдельного метода, он просто не срабатывает.

Как часть этого, должен ли мой делегат средства выбора быть установлен на оверлей или контроллер представления, который представляет средство выбора?

Кроме того, должен ли мой оверлей И мой контроллер представления реализовывать делегат средства выбора в заголовке?

Заранее спасибо.

1 Ответ

1 голос
/ 17 декабря 2009

Метод takePicture используется для объекта UIImagePickerController. Прямо сейчас, ваша кнопка вызывает takePicture на контроллере вида наложения, я думаю. (Я не могу точно сказать, потому что вы не опубликовали, в каком методе находится эта строка кода.)

так должно быть

[button addTarget:picker action:@selector(takePicture) forControlEvents:UIControlEventTouchUpInside];

Очевидно, что для того, чтобы это работало, в коде должна быть установлена ​​переменная выбора, указывающая на UIImagePickerController; обычный способ сделать это - сохранить указатель на контроллер основного вида и / или сам инструмент выбора изображений в делегате приложения.

Только один класс должен реализовать делегат средства выбора изображений; Вы можете решить, какой из них вы хотите.

...