iPhone, делающий снимок, ведет к белому экрану после съемки - PullRequest
1 голос
/ 16 июня 2011

У меня есть код для фотосъемки в приложении для iPhone:

-(IBAction) getPhoto:(id) sender {
    UIImagePickerController * picker = [[UIImagePickerController alloc] init];
    picker.delegate = self;

    if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])  {
        picker.sourceType = UIImagePickerControllerSourceTypeCamera;
    }
    else{
        picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
    }

    [self presentModalViewController:picker animated:YES];
}

Затем у меня есть другой контроллер для управления сделанным снимком:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo {
    [picker.parentViewController dismissModalViewControllerAnimated:YES];
    imageTaken.image = image;
    NSLog(@"saved!");
}

Я попытался запуститьприложение на моем iPhone 4 (iOS 4. что-то), и после того, как я сделал снимок и нажал «использовать», я получил белый экран.При тестировании приложения непосредственно на другом телефоне, запущенном непосредственно из XCode (на этот раз iOS 5) для проверки журнала, я нажимаю «использовать», но затем ничего не происходит, и журнал печатается правильно.

Вы знаете, что происходит?Я думал, что экран картинки не закрывается, но я вызываю dismissModalViewController ....

Спасибо,

Масиар

1 Ответ

1 голос
/ 16 июня 2011

Вы должны отклонить модальный контроллер вида таким образом,

[self dismissModalViewControllerAnimated:YES];

И лучше использовать imagePickerController:didFinishPickingMediaWithInfo:, так как другой метод устарел.

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
    [self dismissModalViewControllerAnimated:YES];
    imageTaken.image = (UIImage *)[info objectForKey: UIImagePickerControllerEditedImage];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...