好玩的一些APIS:那些簡單又容易被忽略的形病。
純屬記個(gè)筆記方便筆者查閱鳞绕,因?yàn)楣P者感覺這幾個(gè)api有點(diǎn)意思而又不常用也容易被忽略钦椭。
禁止進(jìn)入休眠
iPhone為了節(jié)省電力所以有一個(gè)自動(dòng)休眠機(jī)制瞒津,如果想讓我們的APP不自動(dòng)進(jìn)入休眠只需要設(shè)置UIApplication的idleTimerDisabled
屬性為YES
即可袜匿。(切勿濫用)
示例:
[UIApplication sharedApplication].idleTimerDisabled = YES;
接近傳感器
iPhone內(nèi)置了接近傳感器功能谍婉,比如當(dāng)您手機(jī)通話使用中將手機(jī)靠近耳邊時(shí)舒憾,iPhone畫面是自動(dòng)關(guān)閉,拿出耳邊時(shí)穗熬,畫面自動(dòng)顯示镀迂。
如果我們想在APP中實(shí)現(xiàn)這個(gè)需求只需要一行代碼即可。
[UIDevice currentDevice].proximityMonitoringEnabled = YES;
如果想要對(duì)接近傳感器進(jìn)行監(jiān)聽可添加一個(gè)通知唤蔗。通知名為UIDeviceProximityStateDidChangeNotification
然后在通知的監(jiān)聽方法里根據(jù)接近傳感器改變的狀態(tài)進(jìn)行相關(guān)處理探遵,如下代碼可獲取狀態(tài)。
[UIDevice currentDevice].proximityState
YES:畫面關(guān)閉
NO:畫面顯示
獲取電池相關(guān)信息
想要獲取電池相關(guān)信息首先先調(diào)用UIDevice
類的batteryMonitoringEnabled
為YES監(jiān)聽電池妓柜。
電量獲取調(diào)用UIDevice
類的batteryLevel
箱季。
電池充電狀態(tài)獲取調(diào)用UIDevice
類的batteryState
。(返回的是一個(gè)枚舉棍掐,枚舉顧名思義自己去看)
示例代碼
//電池相關(guān)信息
//開始監(jiān)聽
[UIDevice currentDevice].batteryMonitoringEnabled = YES;
//狀態(tài)獲取
NSLog(@"%zi",[UIDevice currentDevice].batteryState);
//電池電量
NSLog(@"%f",[UIDevice currentDevice].batteryLevel);
也可以在通知中注冊(cè)UIDeviceBatteryStateDidChangeNotification
和UIDeviceBatteryLevelDidChangeNotification
監(jiān)聽電池的狀態(tài)與電量的改變藏雏,并進(jìn)行相關(guān)處理。
PS:其他UIDevice類的什么name呀model呀identifierForVendor那些誰都知道的屬性就不贅述了作煌。只是感覺上面幾個(gè)API有點(diǎn)意思又容易被遺忘做個(gè)筆記而已掘殴。
剪貼板
剪貼板赚瘦,一個(gè)不常用的class
iOS里有一個(gè)copy與paste的功能(就是長按出現(xiàn)的那個(gè)復(fù)制粘貼),而UIPasteboard可以獲取或者設(shè)置paste里的值(看類名都知道了)奏寨。如下代碼
//設(shè)置粘貼內(nèi)容
[UIPasteboard generalPasteboard].string = @"string";
//獲取粘貼內(nèi)容
NSString *string = [UIPasteboard generalPasteboard].string;
欲知更多UIPasteboard相關(guān)API請(qǐng)自行閱讀文檔起意,謝謝合作。(不過筆者感覺先能用上以上兩個(gè)API再說吧病瞳。233..)