同様の解決策を探しましたが、iPhone X、XS、および将来のモデルなどのデバイスで問題に直面しました。たとえば、iPhone XS の高さは 49 になりますが、これは正しい高さではありません。いくつかの調査の後、ツールバーの高さを検出する別の解決策を見つけました。
目的 C:
CGFloat screenHeight = [UIScreen mainScreen].bounds.size.height
CGFloat toolbarTop = self.navigationController.toolbar.frame.origin.y
CGFloat originalHeight = screenHeight - toolbarTop
スイフト5:
let screenHeight = UIScreen.main.bounds.size.height
let toolbarTop = self.navigationController.toolbar.frame.origin.y
let originalHeight = screenHeight - toolbarTop
これにより、別の番号が表示されます。たとえば、XS では 83 です。