我一直在UIImagePickerController中工作,遇到一个问题,当源类型设置为camera(UIImagePickerControllerSourceTypeCamera)时,我需要获取UIImagePickerController中相机快门打开的精确时刻。
我做了一些谷歌搜索,并意识到没有人有这样奇怪的要求!
我环顾了UIImagePickerController和UIImagePickerControllerDelegate的文档,希望得到一些委托方法/回调,指示相机快门打开事件,但没有找到任何。
有什么建议吗?
感谢您的帮助,
Raj Pawan
答案 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