在3.5英寸iPhone模拟器上运行我的iOS应用程序时,self.view.frame.size.height报告548px。解决这个问题的正确方法是什么?
答案 0 :(得分:2)
我假设您在viewDidLoad
中看到此行为,对吗?
在viewDidLoad
中,屏幕尺寸不是最终尺寸。您应该只依赖于viewWillLayoutSubviews
方法中的视图框架。
答案 1 :(得分:0)
这是因为你是从viewDidLoad
调用这个吗?
我打赌在这个函数中调用NSLog而不是返回正确的高度;
-(void)viewDidAppear:(BOOL)animated {
NSLog(@"%f", self.view.frame.size.height);
}
您应该使用self.view.bounds
代替self.view.frame
有关查看此SO的原因和方式的详细信息: "Incorrect" frame / window size after re-orientation in iPhone