1

UILabel でバッテリーのパーセンテージを表示しようとしていますが、結果はナンセンスです! ここに私のコードがあります:

UIDevice *myDevice = [UIDevice currentDevice];
    [myDevice setBatteryMonitoringEnabled:YES];
    int i=[myDevice batteryState];
    _battery.text = [NSString stringWithFormat:@"%i",i];

ラベルは番号2を示しています!!!!

4

3 に答える 3

2

以下のコードを使用してバッテリーレベルを取得します

UIDevice *myDevice = [UIDevice currentDevice];
[myDevice setBatteryMonitoringEnabled:YES];
float batteryLevel = [myDevice batteryLevel];
_battery.text = [NSString stringWithFormat:@"%f",batteryLevel*100];

[myDevice batteryLevel];0.0 (空) から 1.0 (100% 充電) までのバッテリーを提供します。

それが役に立てば幸い..

于 2013-03-29T09:26:48.237 に答える
1

iPhone OSは、2 種類のバッテリー監視イベントを提供します。1 つは状態が変化したとき (充電中、プラグが抜かれている、完全に充電されているなど) で、もう 1 つはバッテリーの充電レベルが変化したときに更新されます。近接監視の場合と同様に、コールバックを登録して通知を受け取ります。

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(batteryChanged:) name:@"UIDeviceBatteryLevelDidChangeNotification" object:device];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(batteryChanged:) name:@"UIDeviceBatteryStateDidChangeNotification" object:device];

また、このリンクを参照してください。

于 2013-03-29T09:16:20.260 に答える
0
[myDevice batteryState];//return is a variable of UIDeviceBatteryState

ラベルの番号 2 は、バッテリーのパーセンテージを表示する場合、「UIDeviceBatteryStateCharging、// プラグイン、100% 未満」を意味します。最初の回答のコードが役立ちます。

于 2013-03-29T09:34:08.193 に答える