我使用 UIStoryboard 中的 segue 在我的代码中加载视图控制器。基于一些用户选择的选项,然后我使用动画隐藏或显示 UI 控件。一切正常。
- (void)showComments {
NSLog(@"Show Comments");
_commentsTextView.hidden = NO;
_commentsTextView.frame = CGRectMake(435, 266, 475, 134);
[UIView animateWithDuration:1 animations:^{
_commentsTextView.alpha = 1;
_signatureButton.frame = CGRectMake(435, 420, 475, 134);
_cancelButton.frame = CGRectMake(568, 581, 100, 44);
_finishedButton.frame = CGRectMake(676, 581, 100, 44);
}];
}
然后,我将使用以下代码展示在 UIStoryboard 中创建的视图控制器:
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPad" bundle:nil];
SigningViewController *signingVC = (SigningViewController *)[storyboard instantiateViewControllerWithIdentifier:@"SigningViewController"];
signingVC.object = self;
signingVC.signatureProperty = @"employeeSignature";
signingVC.startDate = self.startDate;
signingVC.endDate = self.endDate;
[self presentViewController:signingVC animated:YES completion:nil];
当此代码触发时,一切都按预期发生,除了一件事:隐藏或显示 UI 控件的所有自定义动画都会恢复。就好像通过调用 presentViewController 方法,它正在从 UIStoryboard 重绘我现有的视图。
在模态显示新视图之前,有没有办法让它退出从情节提要中重绘/重新加载我现有的视图?