这是一个iOS 14 UISplitViewController错误吗?

这是一个iOS 14 UISplitViewController错误吗?,ios,swift,ipad,uisplitviewcontroller,beta,Ios,Swift,Ipad,Uisplitviewcontroller,Beta,在我的应用程序中,我需要一个三列的UISplitViewController。我是这样创建的: let svc = UISplitViewController(style: .tripleColumn) svc.preferredDisplayMode = .twoOverSecondary svc.setViewController(TestViewController(), for: .primary) svc.setViewController(TestViewController(),

在我的应用程序中,我需要一个三列的
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个偏离中心。谁知道我做错了什么?或者这是一个已知的错误

  • 设置为中心时,应使用“安全区域”而不是“self.view”
  • 此处的局部视图具有推开效果。只需单击它,主视图控制器就会隐藏,如下所示
  • 设置为中心时,应使用“安全区域”而不是“self.view”
  • 此处的局部视图具有推开效果。只需单击它,主视图控制器就会隐藏,如下所示

  • 你找到原因了吗?我目前正在讨论使用新的基于专栏的splitVC与经典的主细节版splitVC,你知道为什么吗?我目前正在讨论使用新的基于列的splitVC与经典的主-细节版本