2013-02-13 3 views
1

У меня есть UIImagePickerController в моем приложении, которое использует делегат didFinishPickingMediaWithInfo, чтобы контролировать, выбрал ли пользователь изображение.установить делегат для rejectModalViewControllerAnimated

-(void)imagePickerController:(UIImagePickerController *)picker 
didFinishPickingMediaWithInfo:(NSDictionary *)info 
{ 
    NSString *mediaType = [info objectForKey:UIImagePickerControllerMediaType]; 

    if ([mediaType isEqualToString:(NSString *)kUTTypeImage]) { 
     UIImage *image = [info 
          objectForKey:UIImagePickerControllerOriginalImage]; 
    } 
    [picker dismissModalViewControllerAnimated:YES]; 
} 

Когда [сборщика dismissModalViewControllerAnimated: YES] называется, он уволит текущий вид UIImagePickerController и вернуться к просмотру до появления UIImagePicker. Я хочу, чтобы делегат отправил выбранное изображение в предыдущее представление при вызове функции offsetModalVewControllerAnimated. Как мне это сделать? Большое спасибо!

ответ

0

Делегат должен быть установлен при создании сборщика. Вернется ли контроллер к тому, который создал сборщик? Если это так, в то время он должен быть назначен делегатом. Вы должны использовать функцию offsetViewControllerAnimated: завершение: вместо амортизируемого метода offsetModalViewController.

+0

спасибо. да, он возвращается к тому, который создал сборщик. Я новичок в xcode и не знаю, как установить с ним делегат. Можете ли вы дать мне несколько советов? –

+0

@ user1829700, настройка делегата проста, но весь процесс может быть немного запутанным, пока вы не повесите его. В принципе, вам нужно добавить протокол в сборщик и свойство делегата. Контроллер, который будет делегатом, просто должен сделать что-то вроде picker.delegate = self, когда он создает сборщик. Я предлагаю вам прочитать руководство «Работа с протоколами» в документации Apple. – rdelmar