Geo*_*ton 22 cocoa-touch objective-c ios iphone-4
我注意到在我的iPhone上,在阳光直射几秒钟后,屏幕将调整为更亮,更暗.等我想知道是否有办法与这个传感器进行交互?
我有一个在外面使用的应用程序.当你进入直接光线时,在调整之前很难看到屏幕上的几个元素.即便如此,它并不总是像我希望的那样明亮.我想在户外观看时使用高对比度皮肤,在室内观看时使用低对比度.
这是否可以读取光传感器数据,如果是这样,我如何提取这些传感器值?
我会假设有一个光传感器,因为相机知道何时使用闪光灯.
Fra*_*rez 22
另一方面,这是一个不同的想法(可能是一个愚蠢的想法),使用设备屏幕的亮度,你可以获得一些外部条件的价值.
从0.12(暗)到0.99(光)
下一行将获得这些值,尝试一下,在设备上打开和关闭一些灯以获得不同的值.
NSLog(@"Screen Brightness: %f",[[UIScreen mainScreen] brightness]);
Run Code Online (Sandbox Code Playgroud)
显然应该打开自动亮度功能,以使其工作.
问候.
小智 12
要读取环境光传感器数据,您需要在IOKit框架中使用IOHID.
http://iphonedevwiki.net/index.php/AppleISL29003
http://iphonedevwiki.net/index.php/IOKit.framework
但是,这需要私有标头,因此如果您使用它,Apple可能不会让您的应用程序进入应用程序商店.
我不断向iOS论坛询问将来是否会支持环境光传感器读数,但无济于事.
尝试使用GSEventSetBacklightLevel();,这需要<GraphicsServices/GraphicsServices.h>.这是人们可以通过编程方式调整亮度级别的方法.还有一个get选项,所以我认为可能有你想要的信息.
| 归档时间: |
|
| 查看次数: |
19997 次 |
| 最近记录: |