繁体   English   中英

uiView在iOS 10的ViewController内未对齐,但在iOS11上未对齐

[英]uiView misaligning inside ViewController for iOS10, but not iOS11

我最近开始使用Swift和Xcode,但我不确定为什么对iOS 10设备而言, viewcontroller主视图的底部约束会上移,而在iOS11上却能正常工作。 我有一个类似于另一个应用程序的应用程序,在该应用程序中,iOS10的顶部视图约束已下移,但我设法通过覆盖viewDidLayoutSubviews()并为低于11的设备重置约束来解决此问题。

不幸的是,这次欺骗似乎没有用。 如果我超越了底部约束,则会更正底部锚点,但顶部锚点会被拉起,并且导航栏会隐藏部分视图。 我一直在尝试通过以前的问题(大多数问题是最主要的问题,并且我还没有设法修改它们以解决我正在获得的最下面的问题)找到解决方案,但是没有运气。

为了清楚起见,我附上了该问题的屏幕截图。 左侧为iOS11,右侧为iOS10。

iOS10底部差距

我尝试过的替代:

override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()
let margins = view.layoutMarginsGuide
        NSLayoutConstraint.activate([
            graphView.leadingAnchor.constraint(equalTo: margins.leadingAnchor),
            graphView.trailingAnchor.constraint(equalTo: margins.trailingAnchor)
            ])

    if #available(iOS 11, *) {
        // safe area constraints already set
    } else {
        let standardSpacing: CGFloat = 0.0
        NSLayoutConstraint.activate([
            contentView.bottomAnchor.constraint(equalTo: bottomLayoutGuide.bottomAnchor, constant: standardSpacing)])
    }

结果:

失败的尝试

您需要将这4个约束设置为主视图

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM