作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
对于自定义相机叠加层,我需要找出虹膜何时打开,因为当光圈关闭时我的叠加层将始终显示(然后动画打开)。
有什么想法吗?
最佳答案
您可以监听 PLCameraViewIrisAnimationDidEndNotification 通知。由于这没有正式记录,您可能违反了 Apple TOS,但我认为只要您编写代码,以便它可以防御此通知的名称或契约(Contract)可能更改的可能性(因此将来您可能不会收到该事件)你可能会没事的。换句话说,使用计时器或其他技术来确保在虹膜打开时您想要完成的事情最终一定会发生,即使您从未收到通知...
没有防御性编程的简单示例。 (当然,您也可以仅对此特定通知注册兴趣,请参阅通知中心的文档。)
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(notificationCallback:)
name:nil
object:nil
];
- (void) notificationCallback:(NSNotification *) notification {
if ([[notification name] isEqualToString:@"PLCameraViewIrisAnimationDidEndNotification"]) {
NSLog(@"Iris open");
// we don't need to listen any more
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
}
关于iphone - 检测 iPhone 上相机光圈何时打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1570419/
我是一名优秀的程序员,十分优秀!