2016-05-16 2 views
0

私のアプリが起動していて、電源ボタン(デバイスをロックする)を押している間、この機能は呼び出しています。viewWillTransitionToSizeは、電源ボタンを押しても呼び出されます。

- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator 

そして、この関数を呼び出す防ぐためにどのように

[UIApplication sharedApplication].applicationState 

を使用して、現在の状態UIApplicationStateActiveを返しますか?電源ボタンが押された場合、無視する方法は?私はpowerButton pressで何もしたくないからです。

前提条件:起動画面が存在する必要があります。

+0

デバイスをロックすると、アプリケーションの状態はUIApplicationStateInactiveになります。このフラグをチェックして操作を実行したり、何もしないことができます。 –

+0

返されるUIApplicationStateActive – Rajneesh071

+0

は、最初にStateActiveを返してからStateBAckgroundを返すように見えます。たぶん、あなたは常にUIApplicationStateActive、時には背景を返して、知らないそのStateBAckground –

答えて

2

この機能は、マルチタスクの新機能により、アプリの最小化と電源ボタンの押し付けを呼び出します。
この問題を解決するには、アプリケーションをフルスクリーンにすることができます。 ✓ Requires full screen

enter image description here

チェックしかし、あなたには、いくつかのケースでマルチタスクを採用する必要があるので、これは適切な解決策ではありません。

0

この現象を調査しました。これはiPads上でのみ起こり、多分スプリットビュー機能に関連するようです。

は、メソッドの開始時に追加することによって、メソッドの内部で実行されているコードを無視するようにしてください:

if([UIApplication sharedApplication].applicationState == UIApplicationStateBackground) { 
return; 
} 

UPDATE:

私は、この問題の原因を発見しました。

あなたは、「電源」ボタンを押すと、アプリケーションウィンドウがそのサイズを変更し、アプリケーションが正しいapplicationState設定する前に、時にはそれが起こる:

enter image description here enter image description here

このメソッドの呼び出し理由です。 私の英語では申し訳ありません=)

+0

はい、iPadや分割ビュー、 – Rajneesh071

+0

しかし、その非常に奇妙なRajneesh071 @ UIApplicationStateActive – Rajneesh071

+0

を返す電源ボタンを押すと、私は次の持っている間: を'(lldb)po [UIApplication sharedApplication] .applicationState UIApplicationStateBackground' –

関連する問題