画面の上部に表示され、しばらくしてから消えてから、後で再び表示されるような情報ビューを作成したいと思います。iOS - 画面上部の非表示のUIView
私はUIViewのを作成し、設定した制約:
topInfoView.leadingAnchor.constraint(equalTo: mainView.leadingAnchor)
topInfoView.trailingAnchor.constraint(equalTo: smainView.trailingAnchor)
topInfoView.heightAnchor.constraint(equalToConstant: HEIGHT)
クローズ状態: topInfoView.topAnchor.constraint(equalTo:mainView.topAnchor、定数:-height)
オープン状態: topInfoView。 topAnchor.constraint(equalTo:mainView.topAnchor、定数:0)
ここで、mainView
はメインUIViewCcontroller
です。
私はHEIGHT
を私のユーザーの高さ+ "ステータスバーの高さ"(バッテリー、Wi-Fiなどのバー)に設定しました。問題は、ステータスバーの高さが0で、topInfoViewが正しく配置されないことがあることです。私はこれを経由して、「ステータスバーの高さ」を取得しています:
func statusBarHeight() -> CGFloat {
let statusBarSize = UIApplication.shared.statusBarFrame.size
return Swift.min(statusBarSize.width, statusBarSize.height)
}
が、それは時々ではない作品(?ビューがinitedされていない)と私はまた、ステータスバーが異なって解決している新しいiPhone X、わからないです。高さを計算せずに他の方法がありますか?
再びそれを表示するために
topInfoView.isHidden = false
それを隠すためにtopInfoView.isHidden = true
を使用して、 必要があります'viewDidLayoutSubview'で取得します – Tj3n@ Tj3nなぜ私はステータスバーの高さに直接基づいていない別の解決策を探しています。 –