1

最初のビューでタブバーを非表示にできる UINavigationController でカスタム アニメーションを実行しています。

仮想キーボードを使用した一種のテキスト ビューから開始し、UITableViewController を表示します。

CATransition* transition = [CATransition animation];
transition.duration = 0.25f;
transition.type =  kCATransitionPush;
transition.subtype = kCATransitionFromRight;
[window.layer addAnimation:transition forKey:kCATransition];

[navigationController setNavigationBarHidden:NO];
[navigationController pushViewController:preferencesViewController animated:NO];

しかし、私の問題は、移行を開始する直前にキーボードがすぐに消えることです。

最初のビューと一緒にキーボードを動かすプッシュトランジションをしたいと思います。

最初のビューのスクリーンショットを作成しなくても、これは可能ですか?

助けてくれてありがとう:)

4

1 に答える 1

0

OK、私はそれを行う方法を見つけました。私は代わりにこれを持っています[window.layer addAnimation:transition forKey:kCATransition];:

for (UIWindow *someWindow in [[UIApplication sharedApplication] windows])
    if (![someWindow respondsToSelector:@selector(screen)] || [someWindow screen] == [UIScreen mainScreen])
        [someWindow.layer addAnimation:transition forKey:kCATransition];

今、私は反対の作業をしようとしています (最初のビューに戻ります)。最初のビューと一緒にキーボードを翻訳したい。ただし、ビューが翻訳を終了した後にのみ表示されます。

おそらく、アニメーションを適用する前にキーボードのビューを取得する必要がありますか?

編集:私はそれを機能させ、戦術を変更しました:ルートビューコントローラーとナビゲーションコントローラーの間で移行を行います。テキストフィールドの辞任を許可せず、移行中はキーボード ビューを非表示にします。

于 2013-06-21T08:46:23.820 に答える