gpt4 book ai didi

objective-c - View Controller 处于横向模式,但我从纵向模式获取框架?

转载 作者:搜寻专家 更新时间:2023-10-30 19:46:46 25 4
gpt4 key购买 nike

我有一个带有 TableView 的设置 View Controller 。 TableView 应该将其框架设置为 View Controller 的框架。我的应用程序仅支持横向模式,所以我一直使用横向模式。

但是,当设置 View Controller 加载时, TableView 具有 View Controller 的纵向模式框架,即使它是横向的(360 x 480,而它应该是 480 x 360)。

此外,当我检查设备是否认为它处于纵向模式时,它返回了 true。

是什么导致了问题,我该如何解决?

最佳答案

当您调用 [UIView init] 时,它将默认为纵向模式下设备的屏幕尺寸(同样适用于 iPad,但尺寸更大)。在 [UIViewController viewDidLoad] 中,self.view 也将默认为此大小。

屏幕旋转仅对层次结构中的顶层 View ( Controller )进行,旋转消息通过支持此行为的容器 VC(例如 UINavigationController、UITabBarController)转发。

如果您希望正确调整 View 大小,请使用 [UIView initWithFrame:self.view.bounds] 创建 View 。在 UIViewController 中,您只有机会重写 loadView 方法以在调用 viewDidLoad 之前设置框架(或者您可以使用不同的 XIB 进行横向)。您还可以通过在 viewDidLoad 中首先设置其框架来硬编码 View 的大小

关于objective-c - View Controller 处于横向模式,但我从纵向模式获取框架?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7631094/

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