2011-11-22 9 views
13

を暗くしてください、私はiPhoneが自動ロック使用していないことを保証するために管理している:iPhoneの画面が

[[ UIApplication sharedApplication ] setIdleTimerDisabled: YES ]; 

しかし、どのように私は、一定時間後に画面薄暗いを作るのですか?

おかげで...

EDIT:50%アルファを持つ黒のビューを追加することで調光するあなたのビューコントローラで

このメソッドを使用する:

は私が解決策を自分で見つけたと思います。イベントを基になるビューに渡すには、userInteractionEnabled = NOを設定してください。

- (IBAction)dim:(id)sender { 
UIView *dimView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)]; 
dimView.backgroundColor = [UIColor blackColor]; 
dimView.alpha = 0.5f; 
dimView.userInteractionEnabled = NO; 
[self.view addSubview:dimView]; 
} 

か、それを危険にさらす可能性があります(ただし、Appleは提出に拒否することができる):

[(id)[UIApplication sharedApplication] setBacklightLevel:1.0f]; 

プライベートAPIだといえ使用すべきではありません...

+0

私は完全を期すための答えとして、あなたの編集を掲示するお勧めします。 –

+0

私はまだ自分自身の質問に答えることができません、私はポイントや何かを構築する必要があると思う –

答えて

26

のiOSとして5 UIScreenクラスに公開APIがあります。設定可能なプロパティはbrightnessです。実際のバックライトよりも調光したい場合は、wantsSoftwareDimmingというプロパティがあり、半透明のレイヤーが自動的に配置され、ハードウェアで行うよりも薄暗くなります。これは、半透明のUIViewを使用した場合と非常によく似ています。ソリューションまたはソフトウェア調光APIを使用すると、すべてのアルファブレンディングでパフォーマンスペナルティを支払うため、多くのアニメーションでは使用しないでください。

は、後のiOS 7にUIScreen Class Reference

+0

それは、ありがとう、それのはるかに良い方法です。 –

+0

@ HashemAboonajmiのiOS 7+の回答をご覧ください。 – ToolmakerSteve

3

を参照してください:

yourViewController.view.tintAdjustmentMode = UIViewTintAdjustmentModeDimmed; 
関連する問題