Пользовательский UIImagePicker удаляет панель навигации при нажатии пользовательского представления - PullRequest
2 голосов
/ 11 октября 2011

В моем проекте мне нужно присоединить другой контроллер uiview к концу цепочки выбора изображений.

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)img editingInfo:(NSDictionary *)editInfo 
{
uploadPhotoViewController * newView = [[uploadPhotoViewController alloc] initWithNibName:@"uploadPhotoViewController" bundle:nil];
    newView.contest = received;
    newView.receivedImage = img;
    newView.parentImagePicker = picker; // this doesn't help
    [picker pushViewController:newView animated:YES];

}

Это прекрасно работает, но когда я использую камеру в качестве источника, она очищает панель навигации, и яне заставить его стать видимым.Я попробовал обычное:

-(void)viewWillAppear:(BOOL)animated 
{
    [super viewWillAppear:animated];
    self.wantsFullScreenLayout = FALSE;
    self.navigatioController.navigationBar.hidden = false;
    self.navigationController.navigationBar.barStyle = UIBarStyleBlackTranslucent;
    [[UIApplication sharedApplication] setStatusBarHidden:NO animated:NO];
    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackTranslucent animated:YES];
}

Строка состояния вернется в толкании, но панель навигации - это еще один зверь.Я предполагаю, что, поскольку это модальный способ, навигационный контроллер отправляется в стек представлений внизу.Кто-нибудь знает как обратиться к сборщику изображений?Я попытался передать средство выбора изображений в качестве объекта для контроллера представления, как вы можете видеть в первом кодовом блоке, а затем попытался обратиться к нему так:

    self.parentImagePicker.navigationBar.hidden = false;
    self.parentImagePicker.navigationBar.barStyle = UIBarStyleBlackTranslucent

Но это тоже не помогло.Так что я в тупике.Это какой-то ивар или что-то, что позволит мне обратиться к сборщику?

1 Ответ

4 голосов
/ 11 октября 2011

О, круто, я понял это. в то время как звонок

self.navigatioController.navigationBar.hidden = false;

не работает,

[self.navigationController setNavigationBarHidden:NO];

этот делает.

...