2

これは、あるUIViewから別のUIViewに切り替える方法です。self.view = MyView; ビューを自分のビューにフェードアウトするにはどうすればよいMySecondViewですか?

4

2 に答える 2

6

UIViewの組み込み遷移コードを使用して、それらの間でクロスディゾルブを行うことができます。

[UIView transitionFromView:self.view toView:MySecondView duration:0.25 options:UIViewAnimationOptionTransitionCrossDissolve completion:^(BOOL finished) {
    // What to do when its finished.
}];

このようなもので通常のアニメーションオプションを使用することもできます。私はXcodeの前にいないので、このコードをテストしていませんが、デフォルトのアニメーションのないラベルや物事に常に使用しています。

[UIView animateWithDuration:0.25 animations:^{
    [self.view setAlpha:0.0];
    self.view = mySecondView;
    [self.view setAlpha:1.0];
}];
于 2012-08-07T14:34:59.123 に答える
2

画面を変更するためにself.view=MyViewのようなことをするのは良い考えではないことに注意してください。いくつかの画面が表示されるまでに、viewControllerはスパゲッティコードでいっぱいになります。ビューを管理する新しいビューコントローラの提示を検討する必要があります。フェードを実行する1つの方法は、次のとおりです。

  • 現在のビューを黒にフェードします(アニメーション付き)
  • プッシュするViewControllerで、viewWillAppearを使用して、ビューを黒にフェードします。
  • アニメーションなしでViewControllerをプッシュ/提示します。
  • 次に、新しく表示されたView ControllerのviewDidAppearメソッドを使用して、ビューをフェードインします(アニメーションを使用)。
于 2012-08-07T14:41:27.890 に答える