回调相机快门打开事件

时间:2010-02-17 06:15:12

标签: iphone cocoa-touch uiimagepickercontroller

我一直在UIImagePickerController中工作,遇到一个问题,当源类型设置为camera(UIImagePickerControllerSourceTypeCamera)时,我需要获取UIImagePickerController中相机快门打开的精确时刻。

我做了一些谷歌搜索,并意识到没有人有这样奇怪的要求!

我环顾了UIImagePickerController和UIImagePickerControllerDelegate的文档,希望得到一些委托方法/回调,指示相机快门打开事件,但没有找到任何。

有什么建议吗?

感谢您的帮助,

Raj Pawan

3 个答案:

答案 0 :(得分:2)

订阅:

AVCaptureSessionDidStartRunningNotification

这是虹膜打开动画开始的时候。如果在此期间添加cameraOverlayView,它将被虹膜正确遮盖。它与PL ...私人通知同时发布。这是一种记录在案的方法,不会冒被拒绝的风险。

答案 1 :(得分:1)

解决方案是观察私有通知,就像在这个线程中讨论的那样: Detecting when camera's iris is open on iPhone

答案 2 :(得分:0)

我的消化(不是自己尝试,但不明白为什么它不起作用):

  • UIImagePickerController类子类化到您自己的类中,并覆盖viewWillAppear和viewDidAppear:当UIImagePickerController即将出现或出现时将触发这些方法(如果使用{{1}正确触发其显示例如)。

presentModalController

@interface MyUIImagePickerController : UIImagePickerController { } @end

@implementation MyUIImagePickerController
-(void)viewWillAppear:(BOOL)animated {
    NSLog(@"the picker is about to appear");
    [super viewWillAppear:animated];
}

-(void)viewDidAppear:(BOOL)animated {
    NSLog(@"the picker did appear");
     [super viewDidAppear:animated];
}
@end