2

私は 2 つの ViewControllers を持っています。両方の .m ファイルに次のコードがあります。

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    [self.view setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"background"]]];

}

両方のViewController間でプッシュ遷移があります。そのため、私の iPod で実行すると、2 番目の背景が最初の背景を右から左に押すように見えます。

しかし、両方のViewControllerの背景が同じであるため、それは私が望むものではありません。トランジション実行時の背景ではなく、ViewControllers 1 の UI コンポーネント (ボタン、テキスト フィールド、ラベルなど) を移動するだけで済みます。

また、ViewControllers 2 の UI コンポーネントがスライドインするときも、コンポーネントのみがスライドインします。

これを実行する方法は?ありがとうございました..

4

3 に答える 3

3

これを試して:

[self.navigationController.view setBackgroundColor:<#(UIColor *)#>]

ビューコントローラーで背景をクリアします。

[self.view setBackgroundColor:[UIColor ClearColor]
于 2013-09-10T14:05:18.393 に答える
1

2 つの ViewController を使用する必要はありません。1 つを使用して、UI コンポーネントを 2 つのビューに追加します。次に、アニメーションでそれらを動かします。

ViewController に 2 つのビューを追加します。「最初のViewController」UIコンポーネントをどちらかに追加してから、「2番目のViewController」UIコンポーネントをもう一方に追加します。あなたのシークのように、アニメーションでそれらを動かしてください。これを使用できます:

 [UIView animateWithDuration:0.6 delay:0.
 options:UIViewAnimationOptionCurveEaseInOut animations:^{

      firstView.center = CGPointMake(Pointx, Pointy);
      secondView.center = CGPointMake(Pointx2, Pointy2);

      } completion:nil];
于 2013-09-10T14:00:37.297 に答える