2012-11-04 179 views
2

在iPad iOS 6.0上,如何使屏幕進入睡眠狀態或以某種方式禁用圖形保持屏幕壽命,但iPad不會鎖定,並且不需要按下按鈕。相反,當觸摸屏幕時,iPad完全醒來,程序恢復並繼續在屏幕上運行。使iPad屏幕關閉,但通過觸摸喚醒(無鎖) - - iOS 6.0/openFrameworks

據我所知,當iPad真正進入睡眠狀態時,觸摸功能無法正常工作,那麼是否存在一種中間睡眠模式,即屏幕關閉所有像素亮度,但對任何觸摸通知仍保持警惕?

回答

2

工作,你將需要防止「真實」的鎖定機制,可使用UIApplication實例的setIdleTimerDisabled:方法來實現。

[[UIApplication sharedApplication] setIdleTimerDisabled:YES]; 

那麼您可使用共享UIScreen實例的setBrightness:方法減少屏幕的亮度。

[[UIScreen mainScreen] setBrightness:0.0f]; 

對於 「解鎖」 屏幕上,做相反的:

[[UIApplication sharedApplication] setIdleTimerDisabled:NO]; 
[[UIScreen mainScreen] setBrightness:1.0f]; 
+0

優秀,非常感謝你。不過,我對iOS項目很陌生,所以我不確定將這些代碼放在哪裏。我的XCode項目基於openFrameworks示例項目。你能提供一些關於我需要把它們放在OF項目中的建議嗎? – user1798714

+0

您可以在代碼中的任何位置調用這些函數。因此,請確定您想要執行鎖定和解鎖步驟的位置,然後您可以將其放在那裏。 – Bergasms

1

將一個黑色的UIView高於一切,用

[[UIScreen mainScreen] setBrightness:0.0]; 

調整亮度低就可以了,然後反轉觸摸這些步驟。

這是我能想到的唯一方法來模擬您需要的功能,而無需使用某些私有API。

編輯:setBrightness只會在iOS 5.0及更高