簡體   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