0

在 3.5 英寸 iPhone 模拟器上运行我的 iOS 应用程序时,self.view.frame.size.height 报告 548px。解决此问题的正确方法是什么?

4

2 回答 2

2

我假设您在 中看到了这种行为viewDidLoad,对吧?屏幕尺寸不是最终的viewDidLoad。您应该只依赖视图的框架 inviewWillLayoutSubviews方法。

于 2013-09-06T19:40:37.483 回答
0

这是因为你是从viewDidLoad右边打电话的?

我敢打赌,在这个函数中调用 NSLog 会返回正确的高度;

-(void)viewDidAppear:(BOOL)animated {
    NSLog(@"%f", self.view.frame.size.height);
}

你真的应该使用self.view.bounds而不是self.view.frame

有关为什么以及如何查看此 SO 的更多信息: iPhone 中重新定向后的“不正确”框架/窗口大小

于 2013-09-06T19:41:09.940 回答