gpt4 book ai didi

ios - 方向更改时 UINavigationController 工具栏高度

转载 作者:行者123 更新时间:2023-11-29 02:10:47 25 4
gpt4 key购买 nike

我正在尝试获取 NavigationControleller 提供的 toolbar 的高度,而不是手动添加。我得到的横向高度为 44,纵向高度为 32,这显然与我在屏幕上看到/得到的相反!

这是我的函数的相关部分:

// Update the layout based on the orientation
override func viewWillTransitionToSize(size: CGSize, withTransitionCoordinator coordinator: UIViewControllerTransitionCoordinator) {

// Add the constraints based on the orientation
if UIDevice.currentDevice().orientation.isLandscape.boolValue {
println("Landscape")
} else {
println("Portrait")
}

let toolbarHeight = self.navigationController!.toolbar.frame.size.height
let toolbarIntrinsicHeight = self.navigationController!.toolbar.intrinsicContentSize().height

println("height = \(toolbarHeight)")
println("Intrinsic height = \(toolbarIntrinsicHeight)")
println("-------------")

}

这是控制台输出:

Landscape
height = 44.0
Intrinsic height = 44.0
-------------
Portrait
height = 32.0
Intrinsic height = 32.0
-------------

出了什么问题?正确的做法是什么?

注意:我使用的模拟器是 iPhone 5s 和 iPhone 6。iPhone 6 plus 在两个方向上的高度都是 44。

最佳答案

viewWillTransitionToSize 基本上是说尚未转换,因此您将在转换之前获得值,这就是为什么您以相反的方式获得值。例如,将一个操作设置为一个按钮,该按钮从 viewWillTransitionToSize 打印完全相同的内容,您将看到您将获得正确的值。

关于ios - 方向更改时 UINavigationController 工具栏高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29304825/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com