FC2ブログ

--
--/--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

2011
11/30


画面の明るさは非公開APIである、
GSEventSetBacklightLevel(float level)
関数を使用しないと設定変更できないなんて言われてましたが、実はiOS5から変更できるようになったようですね。

これでリジェクトされなくて済むかも。
ということで今回はその方法を紹介します。


#pragma mark 初期処理
- (id)initWithNibName:(NSString *)nibNameOrNil
bundle:(NSBundle *)nibBundleOrNil {

self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// 画面からスライダーを取得
UISlider *slider = (UISlider *)[self.view viewWithTag:1000];

// 現在の輝度をスライダーに設定
[slider setValue:[[UIScreen mainScreen] brightness]];
// スライダーの値変更時のアクション登録
[slider addTarget:self
action:@selector(changeBrightness:)
forControlEvents:UIControlEventValueChanged];
}
return self;
}

#pragma mark スライダーの値変更時処理
- (void)changeBrightness:(UISlider *)sender {

// スライダーの値を画面の輝度に設定する
[[UIScreen mainScreen] setBrightness:[sender value]];
}


UIScreenのフィールドに brightness というプロパティが追加されていました。
このセットメソッドで輝度の値(CGFloat)を設定すれば、画面の明るさを変更できます。

上に記述したサンプルは、UISliderのvalue(float)をそのまま設定しています。


処理の結果を画像でアップしようとしましたが、残念ながらシミュレータ上では輝度は変わらず、実機でキャプチャを撮ってもその画像に輝度は反映されないのでやめました。

興味があったら試してみてください。


プロフィール

Taku Sasahara

Author:Taku Sasahara
Hello world!!

バジルの息子。
法学部法律学科卒。
バリバリの文系プログラマです。
ペーペーです。

Facebook

My faborite books
僕のお気に入り書籍の本棚

最新トラックバック

スポンサーリンク

検索フォーム

ブロとも申請フォーム

QRコード
QR

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。