我多个视图控制器将在单击按钮时显示动态视图控制器,这是我的视图控制器的布局方式:
在按下“开始”按钮之前,“calculationView”视图不会显示任何内容。当用户在视图控制器 2 中按下“开始”按钮“calculationView”时,会显示一个子视图控制器(此处未显示)。
View Controller 2 中的后退箭头将用户带回到选项卡栏中的 Item 1,并在计算视图中的 VIew Controller 2 中显示相同的视图控制器。
现在,除了视图控制器 1 中的计算视图中的内容在视图显示后大约一秒出现之外,一切正常。
这是我在 View Controller 2 中加载计算视图的方式:
- (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 中显示计算视图:
-(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 同时出现。
另外,我有一个设计问题。计算视图将位于每个视图控制器上的静态位置。有没有更好的方法在基于 runInProgress BOOL 的每个视图控制器上显示计算视图。