#objective-c #cocoa-touch #uiimagepickercontroller
#objective-c #cocoa-touch #uiimagepickercontroller
Вопрос:
В моем проекте мне нужно подключить другой uiviewcontroller к концу цепочки выбора изображений.
- (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];
}
Строка состояния вернется в нажатом представлении, но панель навигации — это еще один зверь. Я предполагаю, что, поскольку это модальный, navigationcontroller отправляется в стек представления внизу. Кто-нибудь знает, как обратиться к средству выбора изображений? Я попытался передать средство выбора изображений в качестве объекта для контроллера представления, как вы можете видеть в первом кодовом блоке, а затем я попытался обратиться к нему следующим образом:
self.parentImagePicker.navigationBar.hidden = false;
self.parentImagePicker.navigationBar.barStyle = UIBarStyleBlackTranslucent
Но это тоже не помогло. Итак, я в тупике. Это какой-то ivar или что-то, что позволит мне обратиться к сборщику?
Ответ №1:
О, круто, я понял это. во время вызова
self.navigatioController.navigationBar.hidden = false;
не работает,
[self.navigationController setNavigationBarHidden:NO];
это так.