我有一个简单的动画,我正在从旧视图的中心扩展出一个新视图,同时该视图淡出。然而,这个新视图的子视图(一个按钮和一个标签)会从屏幕右下角飞入,当新视图扩展以占据整个屏幕时。我已经尝试开启或关闭自动布局,虽然两种情况会产生不同的结果,但它们都是错误的。
设置很简单,在故事板中有两个未连接的视图控制器,并使用以下代码来动画显示页面转换:
问题是,为什么子视图在其父视图动画过程中不能保持它们原本应该所在的位置。
设置很简单,在故事板中有两个未连接的视图控制器,并使用以下代码来动画显示页面转换:
-(void)switchViews2:(id)sender {
UIWindow *win = self.view.window;
YellowController *yellow = [self.storyboard instantiateViewControllerWithIdentifier:@"Yellow"];
yellow.view.frame = CGRectMake(0, 0, 1, 1);
yellow.view.center = self.view.center;
[win addSubview:yellow.view];
CGRect frame = self.view.frame;
[UIView animateWithDuration:5 animations:^{
yellow.view.frame = frame;
self.view.alpha = 0;
}
completion:^(BOOL finished) {
[self.view removeFromSuperview];
win.rootViewController = yellow;
}];
}
问题是,为什么子视图在其父视图动画过程中不能保持它们原本应该所在的位置。