我正在显示一个自定义大小的模式UIModalPresentationFormSheet
,如下所示:
UIViewController *viewController = [[UIViewController alloc] initWithNibName:@"SearchViewController" bundle:nil];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:viewController];
navController.modalPresentationStyle = UIModalPresentationFormSheet;
我希望这个视图控制器具有我在viewWillAppear中设置的自定义大小(它是一个混合的Objc-Swift项目):
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.navigationController?.view.superview?.bounds = CGRect(x: 0, y: 0, width: 540, height: 350)
}
这个问题是视图控制器有一个UITextField,当选择它(和键盘显示)时,模态调整大小为默认的表单大小。有关如何在键盘显示时保持视图控制器自定义大小的任何建议吗?
答案 0 :(得分:0)
想出来。
我能够在呈现视图控制器之前设置navController.preferredContentSize
而不是在viewWillAppear中修改框架来解决问题。