出于某种原因,我无法为两个子视图位置设置两个动画。我写了以下
[self addChildViewController:self.photosViewController];
[self.photosViewController.view setFrame:CGRectMake(0, -self.view.frame.size.height, self.view.frame.size.width, self.view.frame.size.height)];
[self.view addSubview:self.photosViewController.view];
[UIView animateWithDuration:1 delay:0
options:UIViewAnimationOptionCurveEaseIn
animations:^{
[self.stepsView setFrame:CGRectMake(0, self.view.frame.size.height, self.view.frame.size.width, self.view.frame.size.height)];
[self.photosViewController.view setFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
}
completion:^(BOOL finished) {
if (finished) {
button.tag = 0;
}
}];
self.stepsView
是一个IBOutlet
UIView
并且self.photosViewController.view
是一个已添加到视图中的子视图控制器视图。
使用当前代码只有self.PhotosViewController.view
动画。但是,如果我注释掉我添加子视图控制器视图的行,subview
那么self.stepsView
动画正确。
即使我在调用此方法之前添加子视图控制器及其视图,也会发生相同的错误。
几个月前我遇到另一个应用程序时需要帮助,不得不做一个肮脏的黑客来解决它,现在想解决这个问题。
谢谢