0

在我的 Ipad App(ios6) 中,我正在开发UIPopOverController. 在UIPopOverController我正在展示相机。我的要求是当我按下相机捕捉按钮时,它会推送到另一个视图控制器。在那个视图控制器中,我想显示从相机拍摄的图像。

我正在使用这段代码:

ImageCropViewController *cropViewController = [[ImageCropViewController alloc]initWithNibName:@"ImageCropViewController" bundle:nil];
cropViewController.sourceImage = image;

UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:cropViewController];


[self.navigationController presentViewController:navController animated:YES completion:nil];

我已经尝试了很多并用谷歌搜索,但我没有找到任何解决方案。它正在消磨我的时间,所以如果有人对此进行了研究,请指导我并发布示例代码。

4

2 回答 2

0

我认为你self.navigationControllernil。您创建导航控制器,但将其用作裁剪器控制器的包装器。例如:

  //in AppDelegate
  SomeController *controller = [SomeController alloc] init];
  UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:controller];
 self.window.rootViewController = controller;
 [self.window makeKeyAndVisible];

 // later
 // asume that self is SomeController
 ImageCropViewController *cropViewController = [[ImageCropViewController alloc]initWithNibName:@"ImageCropViewController" bundle:nil];
  cropViewController.sourceImage = image;

  UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:cropViewController];


  [self.navigationController presentViewController:navController animated:YES completion:nil];  // now it will be work

UPD:我第一次没有看到您使用UIPopOverController,所以它可能无法正常工作。但UIPopOverController没有 navigationController 属性。

于 2013-03-29T08:26:47.563 回答
0

最后我得到了解决方案:

ImageCropViewController *cropViewController = [[ImageCropViewController alloc]initWithNibName:@"ImageCropViewController" bundle:nil];
cropViewController.sourceImage = image;
[self.navigationController pushViewController:cropViewController animated:YES];

我已经在 ImageCropViewController's中编写了以下代码ViewWillAppear

self.contentSizeForViewInPopover = CGSizeMake(450, 350);
于 2013-03-30T14:16:57.960 回答