0

横から UIViewController を提示しようとしています。Present Modal でできることは、Verticle Slide in だけです。

これについて何か考えがある人はいますか?

教えて」ありがとう

4

3 に答える 3

2

MVCについて分析するために、実際にはコントローラーではなく、移動するビューを表示します。

これを行う方法として、ナビゲーションコントローラーを使用することをお勧めします。アニメーションはデフォルトで水平スライドであり、ナビゲーションスタックを無料で入手できます。つまり、戻るボタンが自動生成され、タイトルとボタンのプロパティが設定できますが、簡単に隠すことができるのが望ましいです。

ナビゲーションコントローラーの使用:

親コントローラー、syth、allocにUINavigationsControllerプロパティを作成し、適切に初期化します。次に、コントローラーを任意の順序でロードでき、ナビゲーションの面倒を見ることができます。

これはNavControllersに関する優れたチュートリアルです(通常、UITableViewControllersで使用されますが、そうである必要はありません)

Pengの例はアニメーションであり、親ビューが削除されることに注意してください(デザインによっては、「currentView」だけが削除されない場合があります。トップビューはサブビューである可能性があるため)。これを自分で処理します。

于 2010-12-19T20:59:59.527 に答える
2

私はこれを行い、うまくいきましたが、それを行うためのより公式な方法があるかどうかはわかりません (UIVIewAimationTransition にはスライドオプションがありません):

    UIView *currentView = self.view;
UIView *theWindow = [currentView superview];

[currentView removeFromSuperview];

CATransition *animation = [CATransition animation];
[animation setDuration:0.5];
[animation setType:kCATransitionPush];
[animation setSubtype:kCATransitionFromLeft];
[animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];

[[theWindow layer] addAnimation:animation forKey:@"SwitchToView1"];
于 2010-12-19T20:49:23.200 に答える