我使用EzPopup库制作弹出窗口,将弹出窗口置于导航栏下时出现问题。 这是我的代码
@IBAction func showTopRightButton(_ sender: Any){
guard let pickerVC = pickerVC else { return }
pickerVC.delegate = self
let popupVC = PopupViewController(contentController: pickerVC, position: .topRight(CGPoint(x: 0, y: navigationController!.navigationBar.frame.height+20)), popupWidth: 100, popupHeight: 200)
popupVC.cornerRadius = 5
present(popupVC, animated: true, completion: nil)
}
我遇到了像我的图像这样的问题 enter image description here
如何在iPhone X和iPhone X中实现相同
答案 0 :(得分:0)
在iPhone X纵向模式下,状态栏更高-44点,而不是20点
您还需要添加statusBar框架高度。尝试以下代码:
//1.0 Get the Top bar height
let topBarHeight = UIApplication.shared.statusBarFrame.size.height + (self.navigationController?.navigationBar.frame.height ?? 0.0)
let popupVC = PopupViewController(contentController: pickerVC, position: .topRight(CGPoint(x: 0, y: topBarHeight)), popupWidth: 100, popupHeight: 200)
您可以在UILayout here上阅读更多信息。