2011-12-15 2 views
1

Я могу вызвать диспетчер модального представления для выбора изображения, выбрать изображение и обрезать его, но когда я нажимаю «done», он ничего не делает, он просто зависает с закрашенной кнопкой вне. Ошибок нет, но вызывается функция.UIImagePicker freezes

- (void)viewDidLoad 
{ 
self.imgPicker = [[UIImagePickerController alloc] init]; 
self.imgPicker.allowsImageEditing = YES; 
self.imgPicker.delegate = self; 
self.imgPicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; 
[super viewDidLoad]; 
// Do any additional setup after loading the view, typically from a nib. 
} 

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)img editingInfo:(NSDictionary *)editInfo { 
userImage.image = img; 
uploadButton.hidden = NO; 
[[picker parentViewController] dismissModalViewControllerAnimated:YES]; 
NSLog(@"called"); 
} 

- (IBAction)getImage:(id)sender { 
[self presentModalViewController:self.imgPicker animated:YES]; 
} 
+0

Случается ли это ошибка каждый раз? –

+1

@golergka Это не ошибка, вызвав '[picker parentViewController]' вы ожидали бы 'self', как видно из ответа @ Rayfleck. Это связано с тем, что контроллер родительского представления 'picker' является тем же контроллером, который представил его в' getImage: ' – Chris

ответ

2

Заменить

[[picker parentViewController] dismissModalViewControllerAnimated:YES]; 

с:

[self dismissModalViewControllerAnimated:YES];