如何使iphone上的摄像头从应用程序代理中显示?可能吗?

如何使iphone上的摄像头从应用程序代理中显示?可能吗?,iphone,camera,uiimagepickercontroller,Iphone,Camera,Uiimagepickercontroller,我只是在玩一个打开相机的简单程序。这就是我真正想做的。我是个初学者,我相信我已经掌握了iPhone用户界面管理的基本知识,所以我决定尝试一下 我现在想做的是 - (BOOL) application:(UIApplication*) application didFinishLaunchingWithOptions:(NSDictionary*) launchOptions { UIImagePickerController * camera = [[UIImagePickerContr

我只是在玩一个打开相机的简单程序。这就是我真正想做的。我是个初学者,我相信我已经掌握了iPhone用户界面管理的基本知识,所以我决定尝试一下

我现在想做的是

- (BOOL) application:(UIApplication*) application didFinishLaunchingWithOptions:(NSDictionary*) launchOptions
{
    UIImagePickerController * camera = [[UIImagePickerController alloc] init];
    camera.delegate = self;
    camera.sourceType = UIImagePickerControllerSourceTypeCamera;
    camera.allowsEditing = NO;
    camera.showsCameraControls = NO;
    [viewController presentModalViewController:camera animated:NO];

    [window addSubview:viewController.view];
    [window makeKeyAndVisible];

return YES:
}
所以基本上,初始化相机,设置一些东西并在主视图中显示。我将相机的委托设置为self,因为此代码位于委托类中(是的,委托类符合UIImagePickerControllerDelegate&&UINavigationControllerDelegate)

现在的主要问题是屏幕上没有显示任何内容。我完全不知道我做错了什么,特别是因为程序正在正确构建,没有错误或警告


感谢您的帮助!非常感谢:在将UIImagePickerController的视图添加到窗口之前,您正在尝试从视图控制器显示UIImagePickerController。那不行。它必须从已经显示的视图中显示

我不确定这是否会起作用,因为我还没有尝试过,但是请切换代码的顺序。首先将视图控制器添加到窗口:

- (BOOL) application:(UIApplication*) application 
             didFinishLaunchingWithOptions:(NSDictionary*) launchOptions
{
    [window addSubview:viewController.view];
    [window makeKeyAndVisible];

    UIImagePickerController * camera = [[UIImagePickerController alloc] init];
    camera.delegate = self;
    camera.sourceType = UIImagePickerControllerSourceTypeCamera;
    camera.allowsEditing = NO;
    camera.showsCameraControls = NO;
    [viewController presentModalViewController:camera animated:NO];

    return YES:
}
如果这不起作用,那么请尝试将UIImagePickerController代码移动到根视图控制器的-viewDiLoad(无论代码中的viewController是什么)