现在我遇到了一个问题,它只是振动,忽略了拍照的一部分。
这是代码。
当我按下按钮时,它会启动。
首先,拍摄照片然后振动直到它旋转29度。然后还需要一张照片。 这就是它的功能。但是,当我启动应用程序时,它只会振动并且根本不会拍照。
它出了什么问题?
if([self.rangeSelectionButton.title isEqualToString:@"90"])
{
range = 90;
}
else if ([self.rangeSelectionButton.title isEqualToString:@"180"])
{
range = 180;
}
else if ([self.rangeSelectionButton.title isEqualToString:@"270"])
{
range = 270;
}
else if ([self.rangeSelectionButton.title isEqualToString:@"360"])
{
range = 360;
}
else
{
return;
}
switch (range)
{
case 90:
[self.imagePickerController takePicture];
[self.motionSensor updateGyro];
self.beforeRoll = self.motionSensor.roll;
for(;(self.motionSensor.roll - self.beforeRoll) <= 29;){
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
[self.motionSensor updateGyro];
}
[self.imagePickerController takePicture];
[self.cameraTimer fire];
break;
case 180:
break;
case 270:
break;
case 360:
break;
default:
break;
}
我在上面发布了整个代码。 if语句检查我想要拍照的角度。
根据角度,switch语句起作用。我只写了90个角度。 感谢。
答案 0 :(得分:1)
来自takePicture
的{{3}}:
在捕获图像时调用此方法无效。 您必须等到关联的委托对象收到 之前有docs条消息 你可以拍摄另一张照片。
您确定是否已捕获原始图像?
我不认为UIImagePickerController
是用于您正在尝试做的事情的正确库。使用imagePickerController:didFinishPickingMediaWithInfo:
来获取您想要的图片可能更好。
Apple还提供了示例项目AVFoundation,以展示如何实现这一目标。