3

私はiPhoneのプログラミングの初心者です。シングルビュー(コントローラー)の画面の明るさを変更する方法を教えてください。私は現在これを使用しています。

- (void) loadView
{
    [super loadView];

    userBrightness = [[UIScreen mainScreen] brightness];
    [[UIScreen mainScreen] setBrightness: 1.0];
}

- (void) viewDidUnload
{
    [super viewDidUnload];

    [[UIScreen mainScreen] setBrightness: userBrightness];
}

ただし、'viewDidUnload'メソッドは非推奨であるため、使用できません。別のビューに切り替えたり、アプリを終了したりしたときに、バックライトの以前の値を返す方法がわかりません。ありがとうございました

4

1 に答える 1

2

ビューの読み込み時に明るさをオンに変更すると、ビューが画面外にある場合でも、明るさが通常のレベルに戻ることはありません。画面の明るさを変更するという概念はグローバルなアクションであり、変更されたコンテキストを認識しないことを忘れないでください(あなたの場合、単一のビューが画面に表示されているときに適用します)。ビューのライフサイクルの詳細に関するドキュメントを読むことをお勧めします。

viewWillAppearとの使用を検討できviewWillDisappearます。これにより、必要な粒度が提供されます。

于 2013-02-16T15:51:53.610 に答える