Вид наложения не загружен в приложение customTabBar
Мое приложение customTabBar загружает контроллер представления, когда нажата одна из кнопок панели вкладок. Одна из кнопок панели вкладок открывает UIImagePickerController с оверлеем вверху, но кнопки в оверлее не отображаются - на самом деле оверлей равен Nil.
Последовательность следующая:
AppDelegate выделяет и инициализирует различные контроллеры для каждой кнопки панели пользовательских вкладок в applicationDidFinishLaunching;
CameraTabViewController выделяет и инициализирует различные контроллеры subview, включая subViewCamera, внутри своего метода init:
self.subViewCamera = [[ModalCameraViewController alloc] init];
Когда кнопка панели вкладок камеры нажата, соответствующий контроллер вида вызывает
(void)viewDidAppear:(BOOL)animated { [self openSubViewCamera:nil]; [super viewDidAppear:animated]; }
SubViewCamera создает экземпляр UIImagePickerController и показывает его:
cameraUI = [[UIImagePickerController alloc] init]; ... if ( self.cameraOverlayView == Nil ) { NSLog( @"THE CAMERA OVERLAY VIEW IS NIL" ); } else { NSLog( @"THE CAMERA OVERLAY VIEW IS PUMPING UP" ); } cameraUI.cameraOverlayView = self.cameraOverlayView; ... [controller presentModalViewController:cameraUI animated:NO];
На этом этапе модальное окно imagePicker представлено, но наложение отсутствует, и журнал показывает линию THE CAMERA OVERLAY VIEW IS NIL
, Если я заменю cameraTabViewController напрямую на subViewCamera в appDelegate при создании настраиваемой панели вкладок, все будет работать так, как ожидается, и камера будет показана с наложением, но, к сожалению, я не могу оставить это таким образом, потому что мне также нужны другие подпредставления,
Основное различие заключается в том, что в первом случае nib-файл фактически не загружается, а выходы остаются нулевыми (viewDidLoad()
метод ModalCameraViewController даже не вызывается). Я также попытался изменить шаг 2. так, чтобы subViewCamera инициализировалась с initWithNibName()
без успеха.