Iphone UIImagePickerController拍摄方法

Iphone UIImagePickerController拍摄方法,iphone,ios4,uiimagepickercontroller,Iphone,Ios4,Uiimagepickercontroller,目标:在其他GUI运行时以静默模式拍照 操作系统:IOS 4.3 在执行测试时,我想在执行ViewDidLoad时以静默模式拍摄一张图像: 我不想要任何相机图形用户界面什么的,所以曾经。。。让我知道你的想法 通过观察UIImagePickerController,我发现我可以分配一些属性并执行takePicture方法。。底线是,当尝试执行它时,什么也没发生,我看到了几个KBs。。这说明你必须等待。。所以我确实放了sleep10,但没用 也许我在某个地方遗漏了委托,而我读到委托不是必须的。。 想

目标:在其他GUI运行时以静默模式拍照

操作系统:IOS 4.3

在执行测试时,我想在执行ViewDidLoad时以静默模式拍摄一张图像: 我不想要任何相机图形用户界面什么的,所以曾经。。。让我知道你的想法

通过观察UIImagePickerController,我发现我可以分配一些属性并执行takePicture方法。。底线是,当尝试执行它时,什么也没发生,我看到了几个KBs。。这说明你必须等待。。所以我确实放了sleep10,但没用

也许我在某个地方遗漏了委托,而我读到委托不是必须的。。 想法

代码如下:

头文件:

#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>

@interface VisionViewController : UIViewController
{

    UIImagePickerController *controller;

}

-(void)settingControllerAndTakingPicture;


@end
}


同样,我只对静默模式感兴趣。

您还没有将UIImagePickerController添加到视图层次结构中,它在您添加之前不会实例化。您需要presentModalViewController或类似产品

另外,我不认为更改controller.view会像您希望的那样起作用,我认为您可能必须使用:

controller.showsCameraControls = NO;
controller.cameraOverlayView = self.view;

但这只是猜测。

//将控制器OverLayView设置为self-view imageController.cameraOverlayView=self.view;//将imageController显示为模式子项。如果已设置动画,则使用垂直图纸过渡。[自我呈现ModalViewController:imageController动画:是];
-(void)settingControllerAndTakingPicture

{
    controller = [[UIImagePickerController alloc] init];
    //Setting the control source type as the Camera device.
    controller.sourceType = UIImagePickerControllerSourceTypeCamera;

    //Camera display is off, the player will not see it during games.
    controller.showsCameraControls = NO;

    //Picking only the front camera.
    controller.cameraDevice = UIImagePickerControllerCameraDeviceFront;

    //Turning the camera flash off.
    controller.cameraFlashMode = UIImagePickerControllerCameraFlashModeOn;


    //Setting the controller view as self view
    controller.view = self.view;   

    //Taking a picture         
    [controller takePicture]; 


}
controller.showsCameraControls = NO;
controller.cameraOverlayView = self.view;