我的观点有错误的尺寸。我正在运行景观,但视图报告纵向尺寸“查看宽度= 768.000000高度= 1024.000000”任何想法如何解决?我玩过我尝试的自动旋转
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft|| interfaceOrientation == UIInterfaceOrientationLandscapeRight);
}
和
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return YES;
}
它在视图上看起来很好,但尺寸确实与我的应用程序混乱。
答案 0 :(得分:13)
您绝不应该使用frame
来表达自己的维度。 frame
与父容器视图相关。要查找与视图自身坐标系相关的维度,请使用bounds
:self.view.bounds
例如,父视图可能会看到子视图的宽度= 768,高度= 1024,但旋转90度变换。这是父视图查看子视图的方式,这就是self.view.frame
的含义。宽度= 1024和高度= 768的子视图反映在视图如何在自己的坐标系中看到自己,self.view.bounds