2012-05-08 4 views
0

У меня проблема с моим приложением, я, похоже, новичок в ios. Мой проект содержит rootViewAppDelegate, * rootViewController * и cameraViewController.UIImagepicker не отображается в раскадровке IPad

Мой RootViewController имеет тип меню кода, реализованного в нем, что при нажатии на кнопку она идет к cameraViewController .my cameraViewController содержит UIImagepicker.

В следующем учебнике в сети около UIImagePicker в IPAD говорится, что я должен вставить часть кода в делегат. Поэтому я вставил его в rootViewAppDelegate. Когда я запускаю проект. Ничего не отображается в cameraViewController. Я пропустил что-то не так? Спасибо за ответ.

ответ

1

Не имея все детали, что я думаю, что происходит это следующим образом:

  • rootViewAppDelegate не делегат от вашего UIImagepicker - и вы, вероятно, не хотите, чтобы установить его, чтобы быть один, как это делегат «приложение»
  • так что вы видите, что происходит, что ваш UIImagePicker не имеет объекта, чтобы вызвать делегат

что, вероятно, должно быть сделано, чтобы использовать cameraViewController в качестве делегата UIImagePicker - сделать так что вам нужно идти в свой: cameraViewController и установить его как последователь протокола UIImagePickerDelegate:

@interface cameraViewController : UIViewController <UIImagePickerControllerDelegate> 

Тогда в вашем UIImagePicker вам нужно установить делегат быть cameraViewController - вы можете сделать это в коде, если у вас есть исходный файл для UIImagePicker, говоря что-то вроде:

[self setDelegate:myCameraViewController]; 

ИЛИ в InterfaceBuilder/раскадровке, вам необходимо подключить делегат свойство UIImagePicker в cameraViewController.

Это будет знать, что cameraViewController является делегатом UIPicker и вызывает его соответствующим образом.

+0

Итак, я собираюсь сделать еще один класс для UIImagePickerControllerDelegate? – Bazinga

+0

Не обязательно - другой класс, например. ваш CameraViewController должен быть в состоянии стать вашим делегатом для UIPicker. UIPickerControllerDelegate сам по себе является частью API iOS. - см. этот пример: https://agilewarrior.wordpress.com/2012/01/; также ссылка делегата: http://developer.apple.com/library/ios/#documentation/uikit/reference/UIImagePickerControllerDelegate_Protocol/UIImagePickerControllerDelegate/UIImagePickerControllerDelegate.html – drb9979

+0

Нет необходимости. Ваш CameraViewController может выступать в роли делегата UIImagePickerController; поэтому он должен содержать методы, которые необходимы для того, чтобы он был UIImagePickerControllerDelegate - например, - (void) imagePickerController: (UIImagePickerController *) picker didFinishPickingMediaWithInfo: (NSDictionary *) info – drb9979

Смежные вопросы