Objective c 摄像机在VIEWDID显示时一直打开..我如何才能阻止这种情况?
我有一个带摄像头的应用程序。用户按下按钮,视图将更改为摄影机视图 在cameraView中,我将pickerControl置于viewDidLoad中 当视图出现时,相机将打开并允许用户拍照。完成后,用户可以选择保留照片,如果他保留了,相机视图将关闭,在那一刻,我可以在我创建的图像viws中看到我拍摄的照片,但相机会一直打开 我想这是因为我的viewDidLoad中有我的pickerControl,每次相机关闭时,它都会反复打开相机。这有什么办法吗? 这是我的cameraViewController,当用户选择相机选项时加载Objective c 摄像机在VIEWDID显示时一直打开..我如何才能阻止这种情况?,objective-c,Objective C,我有一个带摄像头的应用程序。用户按下按钮,视图将更改为摄影机视图 在cameraView中,我将pickerControl置于viewDidLoad中 当视图出现时,相机将打开并允许用户拍照。完成后,用户可以选择保留照片,如果他保留了,相机视图将关闭,在那一刻,我可以在我创建的图像viws中看到我拍摄的照片,但相机会一直打开 我想这是因为我的viewDidLoad中有我的pickerControl,每次相机关闭时,它都会反复打开相机。这有什么办法吗? 这是我的cameraViewControll
- (void)viewDidLoad
{
[super viewDidLoad];
}
// When the view appears, the camera will turn on
-(void)viewDidAppear:(BOOL)animated
{
// Initialize the picker control
UIImagePickerController *pickerControl = [[UIImagePickerController alloc] init];
// If all's good, start up the camera
if ((pickerControl != nil)&&(picHolder == nil))
{
pickerControl.sourceType = UIImagePickerControllerSourceTypeCamera;
pickerControl.delegate = self;
pickerControl.allowsEditing = true;
}
// Camera turns on
[self presentViewController:pickerControl animated:true completion:nil];
}
我不知道如何防止每次打开相机时都加载视图
谢谢你在你的课堂上添加一个BOOL-ivar。下面是一些伪代码
YourController {
BOOL didShow;
}
-(void)viewDidAppear:(BOOL)animated {
if (!didShow) {
// present the UIImagePickerController
}
didShow = YES;
}
尤金,这很有效!你能不能快速详细说明一下这是怎么回事?布尔·迪德肖;我以前从未见过它?再次感谢!基本上,您正在设置一个BOOL变量,该变量可以有任何其他名称,只需检查-viewdideappease:是否至少被调用过一次。如果不是如果!didShow-您正在向用户演示图像选择器