ユーザーがアプリ内で画面の明るさを調整する前の値に画面の明るさを確実に復元できないという以前の投稿を見てきました (つまり、アプリが読み込まれる前に画面の明るさのレベルをキャプチャし、その画面の明るさにリセットします)。アプリが終了するか、バックグラウンドに入る前に)。これは、アプリの終了時にユーザーが知らない劇的な変更を行わないように、Apple が意図的に行ったものである可能性があります。しかし、どうやら Apple は Passbook アプリでこれをやってのけているようだ。Passbook アプリを起動すると、スキャナーがバーコードを読みやすくするために画面の明るさが増しますが、ホーム ボタンを押して Passbook アプリを終了すると、画面の明るさが以前の状態に戻ることに注意してください。Apple がこれを行うことができる場合、なぜできるのか' 私たちは?Passbookアプリがこれをどのように行うか知っている人はいますか?
質問する
1384 次
3 に答える
2
これは、iBooks 1.5 以降の頃に導入された非常に単純なメカニズムであり+[UIScreen brightness]
、iOS 5 での APIの追加により、最終的にすべてを使用できるようになりました。また、それを復元することは、UIApplication デリゲート メソッドのいずれかで簡単に実行できます。実際、起動時に画面の明るさを復元し、終了時にそれを保存するサンプルアプリ (OOH、Shiny ) を作成しました。
于 2012-10-22T02:23:39.353 に答える
1
static CGFloat s_brightness = 0.5f;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
s_brightness = [[UIScreen mainScreen] brightness];
return YES;
}
- (void)applicationWillResignActive:(UIApplication *)application
{
[[UIScreen mainScreen] setBrightness:s_brightness];
}
于 2014-09-20T20:28:57.777 に答える