В моем приложении с несколькими вкладками поток заботится о прослушивании сообщений, поступающих с сервера, и он должен иметь возможность закрыть UIImagePickerController в случае, если камера активна во время получения определенного сообщения.Поток запускается через NSThread detachNewThreadSelector.
Мне удалось вызвать правильную последовательность вызовов на стороне потока через ApplicationDelegate, но средство выбора не отклонено:
- (void) closeCameraController {
[cameraTabController closeSubViewCamera]; // Invokes cancel: on the cameraSubView.
}
Та же последовательность работаетправильно, когда я запускаю его через событие, назначенное на кнопку наложения камеры (кнопка «Отмена»):
- (IBAction) cancel {
[[self parentViewController] dismissModalViewControllerAnimated:NO];
}