Ios 当第一个视图有一些退出动画时,如何在控制器中更改视图?
在我的viewController中,有两个独立的自定义视图。第一个视图有一些退出动画,而第二个视图有一些进入动画。问题是,在第一个视图的退出动画完成后,如何在viewController中更改视图?我尝试了view.hidden属性,但它丢失了退出和进入动画。我还尝试添加一些animateWithDuration,并将switchView方法放入completion块,结果也失败了。 以下是我的viewController的代码:Ios 当第一个视图有一些退出动画时,如何在控制器中更改视图?,ios,objective-c,animation,Ios,Objective C,Animation,在我的viewController中,有两个独立的自定义视图。第一个视图有一些退出动画,而第二个视图有一些进入动画。问题是,在第一个视图的退出动画完成后,如何在viewController中更改视图?我尝试了view.hidden属性,但它丢失了退出和进入动画。我还尝试添加一些animateWithDuration,并将switchView方法放入completion块,结果也失败了。 以下是我的viewController的代码: 提前谢谢 如果它们只是普通的UIView子类,那么可以使用类方
提前谢谢 如果它们只是普通的UIView子类,那么可以使用类方法transitionFromView:UIView*fromView to View:UIView*to View duration:NSTimeIntervalduration选项:UIViewAnimationOptions完成:void^BOOL完成UIView上的完成来实现UIView转换 那么,对于你的情况,你会这样做
- (void)switchView
{
self.about = [[AboutView alloc] initWithFrame:self.view.frame];
[self.view insertSubView:about belowSubView:self.homepage];
self.about.backgroundColor = [UIColor whiteColor];
[UIView transitionFromView:self.homepage toView:self.about duration:0.6 options:UIViewAnimationOptionCurveEaseInOut | UIViewAnimationOptionShowHideTransitionViews completion:^(BOOL completed){ [self.homePage removeFromSuperView]; }];
}
否则,如果要将UIViewController的视图添加到某个视图中,则应使用UIViewController包含方法。查看此内容以了解更多详细信息您应该实现视图控制器控制。感谢您的回答,但它仍然丢失了以前自定义视图的退出动画。仅供参考,“onTouch”方法是退出动画方法,它包含两个单独的“animateWithDuration”方法来显示子视图的动画。整个退出动画大约需要1秒钟。我希望后一个视图在前一个视图的sUIView 1秒退出动画完成后出现。
- (void)switchView
{
self.about = [[AboutView alloc] initWithFrame:self.view.frame];
[self.view insertSubView:about belowSubView:self.homepage];
self.about.backgroundColor = [UIColor whiteColor];
[UIView transitionFromView:self.homepage toView:self.about duration:0.6 options:UIViewAnimationOptionCurveEaseInOut | UIViewAnimationOptionShowHideTransitionViews completion:^(BOOL completed){ [self.homePage removeFromSuperView]; }];
}