0

ボタンを押したときに UIViewController 内の UIView から別の UIView に遷移したい

私はこのコードを書きます:

- (IBAction)changeView:(id)sender {

    CATransition* transition = [CATransition animation];
    transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn];
    transition.duration = 1.0f;
    transition.type =  @"cube";
    transition.subtype = @"fromTop";
    [self.view1.layer removeAllAnimations];
    [self.view1.layer addAnimation:transition forKey:kCATransition];


}

このコードは、view1(UIview) をそれ自体に渡します。別の UIView (view2 など) に遷移するにはどうすればよいですか。また、別の UIview (view2) をストーリーボードのどこに配置できますか

4

3 に答える 3

0

このコード スニペットを見てください。これははるかにエレガントです。より派手な UIViewAnimationOptions については、Apple のドキュメントもチェックしてください。

- (IBAction)changeView:(id)sender
{
    [UIView animateWithDuration:1.0 delay:0.0 options:UIViewAnimationOptionTransitionFlipFromLeft animations:^{
        //Remove View-1 from the main view
        [view1 removeFromSuperView];
        //Add the new view to your current view
        [self.view addSubView:view2];
    } completion:^(BOOL finished) {
        //Once animation is complete
    }];
}

2 つのビューがビュー コントローラーの強力なプロパティであることを確認します。

于 2013-07-10T14:01:26.530 に答える
0

このようにしてみましたか?

  self.view1.alpha = 0.0;

 [UIView beginAnimations:@"flip" context:nil];

 [UIView setAnimationDelegate:self];

 [UIView setAnimationDidStopSelector:@selector(animationDidStop:finished:context:)];

 [UIView setAnimationDuration:1.0f];

  self.view2.alpha = 1.0;   

  [UIView commitAnimations];
于 2013-07-10T13:07:00.227 に答える