方案
在3秒倒计时后自动从Front camera
捕捉图像的应用。
一切都按预期工作。
代码
// viewDidLoad
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]){
imagePicker = [[UIImagePickerController alloc] init];
self.imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
self.imagePicker.cameraDevice = UIImagePickerControllerCameraDeviceFront;
self.imagePicker.delegate = self;
self.imagePicker.showsCameraControls = NO;
[self.imagePicker.view setFrame:kAppFrame];
[self.view addSubview:self.imagePicker.view];
[self.view bringSubviewToFront:self.imagePicker.view];
}
问题 我从未告诉ipad使用它的后置设备仍然在某些情况下后置摄像头启动。
重现的步骤
Landscape orientation
face up orientation
这是一种非常奇怪的行为,我甚至无法理解其原因。
答案 0 :(得分:0)
检查您的代码,self.imagePicker.cameraDevice = UIImagePickerControllerCameraDeviceFront;
行定义您打开设备的前置代码。
现在你的第二个问题:我不确定,但你必须将图像旋转90度。可能是当你得到图像时,它会进入纵向模式。
答案 1 :(得分:0)
看起来我找到了解决方案。
只需将整个代码从viewWillAppear
方法移至viewDidLoad
。
看起来我在视线出现之前依赖于一定的方向。将代码放在viewWillAppear
中可以保证视图实际上已准备好其方向设置。我现在可以把它放在上面了。
我知道这不是正确的答案,但这是我在场景中做出的。任何修改/更正都是最受欢迎的。