如何在 Xcode iOS Swift 应用程序上隐藏显示上一个 ViewController 层次结构的顶部 space?
How to hide top space showing previous ViewController hierarchy on Xcode iOS Swift app?
这种情况不会发生在 iPhone 6 上,而是发生在 iPhone 8 或更高版本上。使用类型 Show Detail
从 ViewController1 导航到 ViewController2 有一个 space 在顶部屏幕上显示前一个 ViewController1 如下图所示:
如何隐藏这个 space?
我试过了:
- 在 ViewController2 上使用所有显示类型(自动、全屏...)
- 尺寸大师
将您正在展示的 UIViewController
的 modalPresentationStyle
设置为 fullScreen
。
class PresentingViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
modalPresentationStyle = .fullScreen
}
}
这是在情节提要中的操作方法...首先点击 segue
...首先将类型更改为模态...然后将演示文稿切换为全屏...
你可以试试:
let nav = UINavigationController()
let ctrl = ViewController1()
nav.pushViewController(ctrl, animated: true)
nav.modalPresentationStyle = .overCurrentContext
self.showDetailViewController(nav, sender: self)
nav.popoverPresentationController?.sourceView = self.view
显示您的控制器时,这会覆盖整个屏幕。
nav.popoverPresentationController?.sourceView = self.view
将 popover 的源视图设置为视图的大小。
您应该尝试以编程方式呈现它(在以前的视图控制器中设置它):
let navVC = UINavigationController.init(rootViewController: vc)
navVC.modalPresentationStyle = .fullScreen
present(navVC, animated: true, completion: nil)
如果您不想使用导航控制器,请跳过第一步。
这种情况不会发生在 iPhone 6 上,而是发生在 iPhone 8 或更高版本上。使用类型 Show Detail
从 ViewController1 导航到 ViewController2 有一个 space 在顶部屏幕上显示前一个 ViewController1 如下图所示:
如何隐藏这个 space?
我试过了:
- 在 ViewController2 上使用所有显示类型(自动、全屏...)
- 尺寸大师
将您正在展示的 UIViewController
的 modalPresentationStyle
设置为 fullScreen
。
class PresentingViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
modalPresentationStyle = .fullScreen
}
}
这是在情节提要中的操作方法...首先点击 segue
...首先将类型更改为模态...然后将演示文稿切换为全屏...
你可以试试:
let nav = UINavigationController()
let ctrl = ViewController1()
nav.pushViewController(ctrl, animated: true)
nav.modalPresentationStyle = .overCurrentContext
self.showDetailViewController(nav, sender: self)
nav.popoverPresentationController?.sourceView = self.view
显示您的控制器时,这会覆盖整个屏幕。
nav.popoverPresentationController?.sourceView = self.view
将 popover 的源视图设置为视图的大小。
您应该尝试以编程方式呈现它(在以前的视图控制器中设置它):
let navVC = UINavigationController.init(rootViewController: vc)
navVC.modalPresentationStyle = .fullScreen
present(navVC, animated: true, completion: nil)
如果您不想使用导航控制器,请跳过第一步。