2

iPhoneの設定で人事ホットスポットをオンにすると、iPhoneアプリのUIが20ピクセル下に移動します。この問題に対処するにはどうすればよいですか。

ホットスポットがオンになっているかオフになっているかを検出する方法はありますか?

ありがとうvikas

4

2 に答える 2

6

ホットスポットまたはその他の通知が表示されるたびに、次のセレクターを使用していくつかのサイズを取得できます。statusBarFrameの高さは40ピクセルになります。

CGRect rect;
rect = [[UIScreen mainScreen] bounds]; // Get screen dimensions
NSLog(@"Bounds: %1.0f, %1.0f, %1.0f, %1.0f", rect.origin.x, rect.origin.y, rect.size.width, rect.size.height);

rect = [[UIScreen mainScreen] applicationFrame]; // Get application frame dimensions (basically screen - status bar)
NSLog(@"App Frame: %1.0f, %1.0f, %1.0f, %1.0f", rect.origin.x, rect.origin.y, rect.size.width, rect.size.height);

rect = [[UIApplication sharedApplication] statusBarFrame]; // Get status bar frame dimensions
NSLog(@"Statusbar frame: %1.0f, %1.0f, %1.0f, %1.0f", rect.origin.x, rect.origin.y, rect.size.width, rect.size.height);
于 2012-09-25T06:22:20.313 に答える
1

これに対処するためのいくつかのオプションがあります。

  • iOS 6より前のバージョンのiOSをサポートするアプリケーションのビューで適切な自動サイズ変更マスクを使用し、すべてのカスタムビューが自動サイズ変更マスクのセットアップを適切に処理することを確認します。
  • iOS 6以降をサポートするアプリケーションの場合、自動レイアウトと制約を使用します。
  • 多くのカスタム描画またはビューを使用するアプリケーションの場合、必要に応じて、ビューコントローラで-viewWillLayoutSubviewsをオーバーライドするか、カスタムビューで-layoutSubviewsをオーバーライドします。
于 2012-09-25T06:33:54.987 に答える