我有一个项目,我正在与另一个视图切换一个视图:
- (IBAction)onClick:(id)sender
{
ViewControllerSecond * sc=[[ViewControllerSecond alloc]initWithNibName:@"ViewControllerSecond" bundle:nil];
[UIView transitionFromView:self.view toView:sc.view duration:3.0
options:UIViewAnimationOptionTransitionFlipFromLeft completion:^(BOOL finished) {
}];
}
我在这里用 3 秒来说明一点。在第二个视图中,我有一个方法来更新从视图控制器添加另一个视图的 GUI:
-(void)updateGUI
{
sample=[[ViewControllerSample alloc]initWithNibName:@"ViewControllerSample" bundle:nil];
sample.view.frame=CGRectOffset(sample.view.frame, 0, 150);
[self.view addSubview:sample.view];
}
现在,问题来了:当我从 viewDidLoad 函数调用它时——它工作得很好。但是,如果从 viewWillAppear 函数调用,视图将出现在屏幕顶部,并且只有在动画结束后才会跳转到它的位置。如何修复?