UIStoryboard のセグエを使用して、コードにビュー コントローラーを読み込みます。ユーザーが選択したいくつかのオプションに基づいて、アニメーションを使用して 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 から既存のビューを再描画しているようです。
新しいビューをモーダルに表示する前に、ストーリーボードから既存のビューの再描画/リロードを終了する方法はありますか?