检测UIPopoverController何时完成呈现UIImageViewcontroller

时间:2013-09-16 15:27:47

标签: ios uiimagepickercontroller uipopovercontroller

我将UIImagePickerController作为UIPopoverController的内容视图控制器。我需要检测弹出窗口刚刚完成呈现的时间(刚出现)。 UIPopoverController没有任何委托。我似乎无法找到一种方法来检测UIImagePickerController。 (这适用于iPad)

有什么建议吗?

// UIImagePickerController let's the user choose an image.
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
imagePicker.delegate = self;
self.popover = [[UIPopoverController alloc] initWithContentViewController:imagePicker];
self.popover.delegate = self;
[self.popover presentPopoverFromBarButtonItem:self.openPhotosButton permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

2 个答案:

答案 0 :(得分:9)

UIImagePickerDelegate也是一个UINavigationControllerDelegate。

您的类应该实现UINavigationControllerDelegate并包含以下内容:

 -(void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated {
     // [navigationController setNavigationBarHidden:YES];
      [[UIApplication sharedApplication] setStatusBarHidden:YES];  // This one works for me: OP
    }

我测试了这个,它隐藏了导航栏。我不确定这样做是否会与HIG发生冲突。

答案 1 :(得分:1)

这应该有所帮助:

  • UIImagePickerControllerDelegate和imagePickerController:didFinishPickingMediaWithInfo:
  • UIPopoverControllerDelegate popoverControllerDidDismissPopover

您有两个代表