我从苹果网站下载了AVCam演示,并尝试添加一个简单的开始屏幕(我添加了一个 StartViewController.{h,m,nib})和一个按钮,然后启动 AVCam 演示。该按钮的代码如下(其他一切都只是 xcode 创建的默认内容):
-(IBAction) btnClicked:(id) sender {
viewController =
[[AVCamViewController alloc]
initWithNibName: @"AVCamViewController"
bundle:nil];
[UIView beginAnimations:@"flipping view" context:nil];
[UIView setAnimationDuration:1];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp
forView:self.view
cache:YES];
[self.view addSubview:viewController.view];
[UIView commitAnimations];
}
不知何故,添加这个笔尖后,拍照并不总是有效(有时没有照片最终会出现在相机胶卷中)。我在 captureStillImageAsynchronouslyFromConnection:stillImageConnection completionHandler 中向captureStillImage添加了一些日志语句,并注意到这个 completionHandler 并不总是被调用。奇怪的是它在某些时候确实有效。我的猜测是我做错了什么但不确定是什么?我正在运行 4.2.1 的 iPhone 上对此进行测试。