2010-02-17 57 views
2

我在一直的UIImagePickerController附近工作和我有我需要的时候,当源类型设置为相机(UIImagePickerControllerSourceTypeCamera)中的UIImagePickerController相机快门打开,以获得精确时刻的一个问题击中。回调相机快门打开事件

我已经做了一些Google搜索,并且意识到没有人有这样奇怪的要求!

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

有什么建议吗?

感谢您的帮助,

拉吉爬完

+0

你能告诉我们更多关于为什么你认为你需要知道这个以及你想完成什么?你可以想象通过调用UIGetScreenImage和“寻找”快门来解决这个问题... – 2010-02-17 08:48:14

+1

我想通过使用takePicture和private api来获取屏幕图像的示例应用程序UIGetScreenImage,后来我发现了UIGetScreenImage会给出快门图像太!这很明显,如果你使用私人API。所以我想知道是否可以在快门收起后稍晚触发UIGetScreenImage,为此我需要一些回调/委托方法来通知快门打开。 我无法完全理解“UIGetScreenImage”和“寻找快门......”的含义,我如何区分快门图像与其他相机图像? – 2010-02-17 12:35:31

回答

0

我sugestion(没有尝试自己,但不明白为什么它不会工作):

  • 子类的UIImagePickerController类并重写viewWillAppear和viewDidAppear:当UIImagePickerController即将出现或出现时(如果您使用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 

+1

@yonel,它不起作用。一旦在相机快门关闭的情况下显示图像选择器控制器的视图,就会调用viewDidAppear。 – 2010-02-18 05:25:15

+0

嗡嗡声,我不认为你期望的准确度是如此“极端”:)也许你能告诉我们为什么你需要在打开相机快门的时候获得这样的准确性吗?也许这会给想法“解决”这个问题:/ – yonel 2010-02-18 08:00:35

+1

我做了一些更多的使用不同的关键词(虹膜,而不是快门)googling和偶然发现这一点:http://stackoverflow.com/questions/1570419/detecting-when-相机的光圈,是开放式,iphone/1581317。它解决了我所有的问题。我保持我的手指交叉,希望苹果不会拒绝它。 – 2010-02-18 11:41:21

2

订阅:

AVCaptureSessionDidStartRunningNotification 

这是光圈全开动画开始时。如果在此期间添加cameraOverlayView,它将被虹膜适当覆盖。它与PL ...私人通知同时发布。这是一种成文的方法,不会冒着应用程序拒绝的风险。

+1

是的,但是我的问题在AV框架不存在时被问到,我们的部署目标与iOS 3一样低。 – 2013-02-22 06:28:11