Cocoa touch iOS在同一viewController的视图之间切换

Cocoa touch iOS在同一viewController的视图之间切换,cocoa-touch,uiviewcontroller,Cocoa Touch,Uiviewcontroller,我在同一个viewController上有三个视图,我需要在它们之间切换过渡。哪种方法最好?如果您将下面的代码用于动画转换,然后只需隐藏和显示“单击按钮时的视图”事件,请向您表示感谢 CATransition *animation = [CATransition animation]; [animation setDelegate:self]; [animation setType:kCATransitionFromBottom]; [animation setDu

我在同一个viewController上有三个视图,我需要在它们之间切换过渡。哪种方法最好?如果您将下面的代码用于动画转换,然后只需隐藏和显示“单击按钮时的视图”事件,请向您表示感谢

CATransition *animation = [CATransition animation];
    [animation setDelegate:self];   
    [animation setType:kCATransitionFromBottom];
    [animation setDuration:1.0];
    [animation setTimingFunction:[CAMediaTimingFunction functionWithName:
                                  kCAMediaTimingFunctionEaseInEaseOut]];
    [[yourViewControllers layer] addAnimation:animation forKey:@"transitionViewAnimation"];
希望这对你有帮助。。
:)

如果您使用下面的代码进行动画转换,然后只需要隐藏并显示按钮单击事件上的视图

CATransition *animation = [CATransition animation];
    [animation setDelegate:self];   
    [animation setType:kCATransitionFromBottom];
    [animation setDuration:1.0];
    [animation setTimingFunction:[CAMediaTimingFunction functionWithName:
                                  kCAMediaTimingFunctionEaseInEaseOut]];
    [[yourViewControllers layer] addAnimation:animation forKey:@"transitionViewAnimation"];
希望这对你有帮助。。
:)

我不确定你是否已经把问题说清楚了。我想你应该一次只展示一个视图。在这种情况下:-

1> 您可以在水平
UIScrollView
中添加视图,其框架大小等于屏幕或您想要的任何区域(宽度应等于屏幕的宽度..一次显示1个)以及UIPageControl

2> 另一种方法是使用以下方法:-

   [self.view bringSubViewToFront:yourSubView];

   [self.view sendSubViewToBack:yourSubView ];
根据您的要求

3> 可以使用动画在视图之间切换

[UIView animateWithDuration:0.7
                      delay:1.2
                    options: UIViewAnimationCurveEaseOut
                 animations:^{
                 CGRect frame=assignAframeToSwitch;
                     yourView.frame = frame;

                 } 
                 completion:^(BOOL finished){
                     NSLog(@"Done!");
                 }];


                 OR

    _Weak CATransition *transition;
    transition = [CATransition animation];
transition.delegate=self;
    transition.duration = 0.75;
    transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];

    [[viewcontroller layer] addAnimation:transition forKey:@"transition"];

我不确定你是否已经把问题说清楚了。我想你想一次一个地展示你的观点。在这种情况下:-

1> 您可以在水平
UIScrollView
中添加视图,其框架大小等于屏幕或您想要的任何区域(宽度应等于屏幕的宽度..一次显示1个)以及UIPageControl

2> 另一种方法是使用以下方法:-

   [self.view bringSubViewToFront:yourSubView];

   [self.view sendSubViewToBack:yourSubView ];
根据您的要求

3> 可以使用动画在视图之间切换

[UIView animateWithDuration:0.7
                      delay:1.2
                    options: UIViewAnimationCurveEaseOut
                 animations:^{
                 CGRect frame=assignAframeToSwitch;
                     yourView.frame = frame;

                 } 
                 completion:^(BOOL finished){
                     NSLog(@"Done!");
                 }];


                 OR

    _Weak CATransition *transition;
    transition = [CATransition animation];
transition.delegate=self;
    transition.duration = 0.75;
    transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];

    [[viewcontroller layer] addAnimation:transition forKey:@"transition"];

CATTransition是设置过渡动画的最佳方法

CATransition* trans = [CATransition animation];

[trans setType:kCATransitionPush];

[trans setDuration:0.5];

[trans setSubtype:kCATransitionFromBottom];

// code to change the view//

CALayer *layer = rootViewController.view.layer;

[layer addAnimation:trans forKey:@"Transition"];

希望有帮助。

CATTransition是动画化过渡的最佳方式

CATransition* trans = [CATransition animation];

[trans setType:kCATransitionPush];

[trans setDuration:0.5];

[trans setSubtype:kCATransitionFromBottom];

// code to change the view//

CALayer *layer = rootViewController.view.layer;

[layer addAnimation:trans forKey:@"Transition"];

希望有帮助。

最快最简单的方法是使用内置的基于块的UIView转换动画。只需查看UIView的文档。它的方法比CATTransition方法简单。

最快最简单的方法是使用内置的基于块的UIView转换动画。只需查看UIView的文档。它的方式比CATTransition方法更简单。

它将取决于您想要如何切换视图?它将取决于您想要如何切换视图?