纯属记个笔记方便笔者查阅,因为笔者感觉这几个api有点意思而又不常用也容易被忽略。
禁止进入休眠
iPhone为了节省电力所以有一个自动休眠机制,如果想让我们的APP不自动进入休眠只需要设置UIApplication的idleTimerDisabled
属性为YES
即可。(切勿滥用)
示例:
1 | [UIApplication sharedApplication].idleTimerDisabled = YES; |
接近传感器
iPhone内置了接近传感器功能,比如当您手机通话使用中将手机靠近耳边时,iPhone画面是自动关闭,拿出耳边时,画面自动显示。
如果我们想在APP中实现这个需求只需要一行代码即可。
1 | [UIDevice currentDevice].proximityMonitoringEnabled = YES; |
如果想要对接近传感器进行监听可添加一个通知。通知名为UIDeviceProximityStateDidChangeNotification
然后在通知的监听方法里根据接近传感器改变的状态进行相关处理,如下代码可获取状态。
1 | [UIDevice currentDevice].proximityState |
YES:画面关闭
NO:画面显示
获取电池相关信息
想要获取电池相关信息首先先调用UIDevice
类的batteryMonitoringEnabled
为YES监听电池。
电量获取调用UIDevice
类的batteryLevel
。
电池充电状态获取调用UIDevice
类的batteryState
。(返回的是一个枚举,枚举顾名思义自己去看)
示例代码
1 | //电池相关信息 |
也可以在通知中注册UIDeviceBatteryStateDidChangeNotification
和UIDeviceBatteryLevelDidChangeNotification
监听电池的状态与电量的改变,并进行相关处理。
PS:其他UIDevice类的什么name呀model呀identifierForVendor那些谁都知道的属性就不赘述了。只是感觉上面几个API有点意思又容易被遗忘做个笔记而已。
剪贴板
剪贴板,一个不常用的class
iOS里有一个copy与paste的功能(就是长按出现的那个复制粘贴),而UIPasteboard可以获取或者设置paste里的值(看类名都知道了)。如下代码
1 | //设置粘贴内容 |
欲知更多UIPasteboard相关API请自行阅读文档,谢谢合作。(不过笔者感觉先能用上以上两个API再说吧。233..)