我将在按钮单击时显示动态视图控制器的多个视图控制器,以下是我的视图控制器的布局方式:
在按下“开始”按钮之前,“calculationView”视图不会显示任何内容。 当用户按下“开始”按钮时,视图控制器2中的“calculateView”显示子视图控制器(此处未显示)。
View Controller 2中的后退箭头将用户带回标签栏中的第1项,并在计算视图中的VIew Controller 2中显示相同的视图控制器。
现在,一切正常,但视图控制器1中的computeView中的内容在视图显示后约一秒出现。
以下是我在View Controller 2中加载calculateView的方法:
- (IBAction)startRunning:(id)sender {
NSLog(@"Start button pressed.");
helper = [[RunsDataHelper helper] init];
// Set this value to true so then other views also display the calculationsView
[helper setRunInProgres:YES];
// Add Calculations View Controller
CalculationViewController *calculationController = [self.storyboard instantiateViewControllerWithIdentifier:@"Calculate"];
[self addChildViewController:calculationController];
calculationController.view.frame = self.calculationView.bounds;
[UIView transitionWithView:self.calculationView
duration:0.4
options:UIViewAnimationOptionTransitionCurlDown
animations:^{
[self.calculationView addSubview:calculationController.view];
}
completion:nil];
[calculationController didMoveToParentViewController:self];
}
以下是我使用runInProgress BOOL在View Controller 1中显示calculateView的方法:
-(void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
helper = [[RunsDataHelper helper] init];
if([helper runInProgres] == YES)
{
//Add Calculations View Controller
CalculationViewController *calculationController = [self.storyboard instantiateViewControllerWithIdentifier:@"Calculate"];
[self addChildViewController:calculationController];
calculationController.view.frame = self.calculationView.bounds;
[self.calculationView addSubview:calculationController.view];
[calculationController didMoveToParentViewController:self];
}
}
问题:
现在我的问题是如何才能使它与计算控制器1同时出现计算视图。
另外,我有一个设计问题。 calculateView将位于每个View Controller的静态位置。有没有更好的方法在每个视图控制器上显示基于runInProgress BOOL的computeView。