这是 iOS 14 UISplitViewController 错误吗?

Is this an iOS 14 UISplitViewController bug?

在我的应用中,我想要一个三列 UISplitViewController。我是这样创建的:

let svc = UISplitViewController(style: .tripleColumn)
svc.preferredDisplayMode = .twoOverSecondary
svc.setViewController(TestViewController(), for: .primary)
svc.setViewController(TestViewController(), for: .supplementary)
svc.setViewController(TestViewController(), for: .secondary)
svc.primaryBackgroundStyle = .sidebar

我要介绍的 ViewController 非常简单 viewController。除了显示居中的红色方块外,它什么都不做。

class TestViewController: UIViewController {
    private var redView = UIView()
    
    override func viewDidLoad() {
        super.viewDidLoad()

        redView.backgroundColor = .red
        redView.translatesAutoresizingMaskIntoConstraints = false
        self.view.addSubview(redView)
        redView.widthAnchor.constraint(equalToConstant: 30).isActive = true
        redView.heightAnchor.constraint(equalToConstant: 30).isActive = true
        redView.centerXAnchor.constraint(equalTo: self.view.centerXAnchor).isActive = true
        redView.centerYAnchor.constraint(equalTo: self.view.centerYAnchor).isActive = true
    }
}

现在,当我 运行 这段代码时,我得到以下结果。

如您所见,3 个方块中有 2 个偏离中心。任何人都知道,我在这里做错了什么?或者这是一个已知错误?

  1. 设置居中时应使用“安全区域”而不是“self.view”。
  2. 此处的详细视图具有推开效果。你只需要点击它,主视图控制器就会隐藏起来,如下所示。