Почему я не могу заставить камеру показывать? - PullRequest
0 голосов
/ 04 мая 2011

Следовал этому простому коду из нескольких учебных пособий, все они очень похожи, но я не могу на всю жизнь заставить это сделать что-либо, кроме показа пустого UIViewController.self.imagePicker определяется в файле .h, получает свойство и затем синтезируется как обычно:

- (void)viewDidLoad {



    // Create image picker controller
    self.imagePicker = [[UIImagePickerController alloc] init];

    // Set source to the camera
    self.imagePicker.sourceType =  UIImagePickerControllerSourceTypePhotoLibrary;

    // Delegate is self
    //imagePicker.delegate = self;

    NSLog(@"%@", self.imagePicker);

    // Show image picker
    [self presentModalViewController:self.imagePicker animated:YES];

    [super viewDidLoad];
}

Ответы [ 3 ]

4 голосов
/ 04 мая 2011

Попробуйте загрузить UIImagePickerView где-нибудь, кроме viewDidLoad. В прошлом я видел такие вещи, как пустой UIViewController и другое дурацкое поведение ViewController, когда вы представляете viewcontroller в методе viewDidload другого. Возможно, вместо этого попробуйте метод UIViewController viewDidAppear. Если это не работает, поместите его в совершенно отдельный метод, который вы вызываете с небольшой задержкой после загрузки представления viewcontroller.

1 голос
/ 04 мая 2011
self.imagePicker.sourceType =  UIImagePickerControllerSourceTypePhotoLibrary;

Вы устанавливаете селектор в библиотеку, вам нужно установить его на камеру.

self.imagePicker.sourceType =  UIImagePickerControllerSourceTypeCamera;

РЕДАКТИРОВАТЬ: Однако это не объясняет, почему вы получите пустой вид.

Попробуйте позвонить [super viewDidLoad], прежде чем представлять сборщик.

0 голосов
/ 04 мая 2011

Кроме того, установка свойства, которое сохраняется при вызове инициализации, является автоматической утечкой памяти.

Это потому, что в итоге вы получите счет отсчета два. Один для инициации и один для сохранения. Создайте переменную, присвойте ее свойству и затем отпустите.

Просто к вашему сведению.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...