У меня есть приложение, в котором я отображаю средство выбора фотографий (UIImagePickerController), но после того, как пользователь отклоняет его, работают только отдельные касания. И я думаю, что знаю корень проблемы, но не знаю, как ее решить ... Прежде чем показать модальное диалоговое окно, стек во время касания выглядит следующим образом:
...
#3 0x00074de0 in -[EAGLView touchesBegan:withEvent:] at EAGLView.m:289
#4 0x30910f33 in -[UIWindow _sendTouchesForEvent:]
...
Но после показа и последующего удаления модального диалога в стеке появляются два таинственных вызова forwardMethod2:
...
#3 0x00074de0 in -[EAGLView touchesBegan:withEvent:] at EAGLView.m:289
#4 0x3098dc95 in forwardMethod2
#5 0x3098dc95 in forwardMethod2
#6 0x30910f33 in -[UIWindow _sendTouchesForEvent:]
...
Вот код, который я использую для отображения и удаления UIImagePickerController:
Заметки:
1. pickerViewController является членом этого класса, который расширяет UIViewController)
2. Director из Cocos2D и содержит только одно представление, прикрепленное непосредственно в корневом окне, с именем openGLView, поэтому я создал UIViewController для размещения средства выбора изображений.
-(void)choosePhoto: (id)sender{
UIImagePickerController *imagePickerController = pickerViewController.imagePickerController;
imagePickerController.delegate = self;
imagePickerController.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
imagePickerController.allowsImageEditing = YES;
UIView *theView = [[Director sharedDirector] openGLView];
UIView *pickerViewControllerView = pickerViewController.view;
[theView addSubview:pickerViewControllerView];
[pickerViewController presentModalViewController:imagePickerController animated:YES];
}
И код для закрытия диалогового окна:
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)imagePickerController
{
// Dismiss the image selection
[pickerViewController dismissModalViewControllerAnimated:YES];
[pickerViewController.view removeFromSuperview];
// HERE... IS THERE MORE WORK TO BE DONE TO COMPLETELY REMOVE THE PICKER VIEW????
}
Должно быть что-то, чего мне не хватает при очистке окна выбора ... Помощь очень ценится:)