iOS 13 - UISplitViewController 调整大小错误

DrS*_*DrS 7 uisplitviewcontroller ios swift ios13

UISplitViewController在 iOS 13 上有一个奇怪的错误(它在 iOS 12 上运行良好)。我创建了一个简单的项目来重现这个错误。

  • 这个应用程序看起来如下,没什么特别的: 在此处输入图片说明

  • 我子类化UISplitViewController如下以允许调整大小MasterViewController

final class SplitViewController: UISplitViewController {
    override public func viewDidLoad() {
        super.viewDidLoad()
        preferredDisplayMode = .allVisible
        delegate = self
        expandMasterView()
    }

    private func expandMasterView() {
        preferredPrimaryColumnWidthFraction = 1
        let screenSize = UIScreen.main.bounds.size
        maximumPrimaryColumnWidth = max(screenSize.width, screenSize.height)
    }
}

extension SplitViewController: UISplitViewControllerDelegate {
    func splitViewController(_ splitViewController: UISplitViewController,
                             collapseSecondary secondaryViewController: UIViewController,
                             onto primaryViewController: UIViewController) -> Bool {
        return true
    }
}
Run Code Online (Sandbox Code Playgroud)

每当我加载 时SplitViewController,我都想将 扩展MasterViewController到全UIScreen宽。如果我运行这个项目,我会得到这个结果:

在此处输入图片说明

  • 现在,如果我更改行:
maximumPrimaryColumnWidth = max(screenSize.width, screenSize.height)
Run Code Online (Sandbox Code Playgroud)

maximumPrimaryColumnWidth = max(screenSize.width - 1, screenSize.height - 1)
Run Code Online (Sandbox Code Playgroud)

我得到了我想要的:

在此处输入图片说明

任何的想法?谢谢。