這聽起來像你可能要開始與一些教程在編寫iPhone應用程序時,因爲上面的代碼看起來沒問題(儘管我沒有特別試過)。如果你不知道如何做一些我在下面說明(或某些條款的不熟悉)的事,我會建議得到一本好書或檢查出一些教程:
Book: iOS 6 SDK Development (Amazon)
Tutorials: Ray Wenderlich has many good tutorials on his site
Apple Documentation is quite good
有中只是寫的代碼你,因爲你大概是想學習如何編程,你不會了解,如果有人只是它給你多少是沒有意義的。
下面是關於如何看待這個一些指點,但你想要的行爲是不是從你所說的話完全明顯。
如果我理解你,你想要顯示的主視圖,當兩個不同的動作發生。
首先,爲什麼不把它設置文本字符串中的字段相匹配的充電/不充電狀態?
所以你添加一個UILabel在Xcode的主視圖的.xib文件,並在視圖控制器加一個插座,這樣你可以設置它在運行時的文本。
然後你要撥打以上,一旦某處的第一行開始監視(參數爲:YES),再次沒有停止監視,一旦視圖消失。如果您查看位於developer.apple.com頂部附近的文檔UIViewController
,您將看到UIViewController實現的方法列表。在這種情況下,您可能想要覆蓋(創建您自己的版本)viewWillAppear
和viewWillDisappear
,並將帶有YES和NO的setBatteryMonitoringEnabled
調用分別放入這兩種方法中。
所以這需要啓用/禁用電池狀態監控的照顧。現在你需要測試狀態並採取行動(這是在你的代碼中調用batteryState
)。
關於設計的一個問題,從您的描述中不明顯,那就是如果您想在視圖出現時執行一次此操作,或者您希望它不斷監視狀態。
如果你想這樣做一次,你可以打電話到上面的viewDidAppear
,比方說,然後使用UILabel插座將標籤中的消息設置爲「Charging」或「Not Charging」從batteryState
方法的結果。
如果你想要監視收費狀態的變化,那麼你需要訂閱通知,並讓你的代碼在處理程序中更改UILabel(或者你最終對變化做出的任何事情)通知。
您可以通過閱讀developer.apple.com上的UIDevice或Xcode Organizer窗口的Documentation部分的文檔來了解這一點。如果您閱讀方法batteryMonitoringEnabled
的文檔,您可以看到「請參閱」部分包含兩個用於通知您可以訂閱的通知,以瞭解關卡或狀態更改的時間:UIDeviceBatteryLevelDidChangeNotification
和UIDeviceBatteryStateDidChangeNotification
。要了解如何訂閱通知,您需要查看NSNotificationCenter
文檔。
然後,一旦你得到這個工作,你可以添加你的發燒友警報(小心反覆把它們!)和聲音(雖然播放聲音時,電池沒有充電將使用電池,這是有點可疑..只是請不要反覆做它)。
祝你好運!
來源
2012-12-25 06:25:43
Dad
非常感謝你!我會看看這個! :) – user1927692