を使用して自動レイアウトを設定する新しいビューコントローラ
navigationController?.pushViewController(controller, animated: true)
の追加I私はあなたの問題を発見したと思うし、それはあなたのAppDelegateにあります。あなたのナビゲーションコントローラにfalseに設定されているisTranslucent
というプロパティは、このまれな問題を虫歯にしているようです。上のように、ビューコントローラのビューの上に半透明のナビゲーションバーが表示されます。非半透明のナビゲーションバーは、あなたのビューコントローラのビューをプッシュダウンするか、言い換えれば、それがその下に収まるようにリゼージします。しかし、なぜそれがそうであるようにcollectionviewアニメーションは、私は実際に明確な答えを与えることができないものです。他の誰かがそれを行う可能性がありますか?
あなたのナビゲーションバーを半透明に保つには、viewController内の別のプロパティを'extendedLayoutIncluedsOpaqueBars 'に設定することができます。
だから、このようにしてください。あなたのAppDelegateで:
window = UIWindow(frame: UIScreen.main.bounds)
window!.makeKeyAndVisible()
let controller = TestingNavigationController()
let navigation = UINavigationController(rootViewController: controller)
window!.rootViewController = navigation
let navigationBarAppereance = UINavigationBar.appearance()
navigationBarAppereance.isTranslucent = false
次に、あなたのビューコントローラのviewDidLoadメソッドでこの行
extendedLayoutIncludesOpaqueBars = true
これはあなたの問題を解決することを願っを追加! :)
Apple Documentation about extendedLayoutIncludesOpaqueBars
私たちを見せるための任意のコードがありますか? –
これらの制約を使って何をしようとしているのか分かりにくいですが、コレクションビューの高さを使用していません。これは、ボタンによって計算されていると思います。それは緑色のcollectionviewが10px(多分?)に設定されているように見えます。いつあなたのコードに制約を設定しますか?その青いボックスは何ですか、そしてその要素の制約ですか?あなたのオートレイアウトに何らかの問題があるような気がします。 –
@MartinBorstrand UICollectionViewCellのbackgroundColorは青です。 viewDidLoadで制約を設定します。ご迷惑をおかけして申し訳ありません。バックセルの移行中のように見える – Dauren