1

ユーザーがボタンを押すと、ステータスバー、ナビゲーションバー、およびツールバーが画面外にアニメーション表示される iPhone アプリケーションで「フルスクリーン モード」を使用したいと考えています (iOS 6 のランドスケープ モードでの Safari のフルスクリーン機能のように)。基本的に、UIViewController をトップ ビュー コントローラーとして使用する UINavigationController を表示しています。

UIViewController からこれを行うことで、要素を非表示にできます。

    [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];

    [self.navigationController setToolbarHidden:YES animated:YES];

    [self.navigationController setNavigationBarHidden:YES animated:YES];

ただし、アニメーションは同期されず、コンテンツのサイズ変更は完全に流動的ではありません。Safari のフルスクリーン機能を試してみると、アニメーションが完全に滑らかであることがわかります。完璧なアニメーションでこれを達成する方法についてのアイデアはありますか?

4

1 に答える 1

0

次のことができます。

[UIView animateWithDuration:0.4 animations:^() {
    [[UIApplication sharedApplication] setStatusBarHidden:YES];
    [self.navigationController setToolbarHidden:YES animated:NO];
    [self.navigationController setNavigationBarHidden:YES animated:NO];
    self.yourView.frame = CGRectMake(0, 0, 320, 480); // If you have several views, set all their frames to 'fullscreen'
}];

メソッドを使用してカスタム アニメーションを使用でき UIView animateWithDuration:( delay: options: animations:^(void)animations completion:^(BOOL finished)completionますUIViewAnimationOptions

于 2012-10-14T20:17:22.097 に答える