カスタム遷移実装を使用して UIViewController を提示しています。
JWModalController *modal = [[JWModalController alloc] init];
CGRect originalFrame = [[self view] convertRect:[[modal view] frame] toView:nil];
[[modal view] setFrame:CGRectZero];
[[self view] addSubview:[modal view]];
[self addChildViewController:modal];
[modal didMoveToParentViewController:self];
[UIView animateWithDuration:0.6 animations:^{
[[modal view] setFrame:originalFrame];
}];
これはうまく機能し、結果に非常に満足しています。
[self presentViewController:modal completion:nil];
BUT: 通常の方法 ( ) でviewController を表示すると、テキストフィールドがファーストレスポンダーの場合、キーボードが消えます。
私のやり方を使用すると、キーボードが消えません。
確かに、最初の応答者を簡単に追跡したり、textField を保存して手動で呼び出したりすることはできますが、正しい方法-resignFirstResponder
でそれを行う方法を本当に知りたいです。