我正在利用[[UIScreen mainScreen] bounds]
来构建很多子视图。我还利用[[UIApplication sharedApplication] statusBarFrame]
和self.navigationController.toolbar.frame
中的值来最终确定我可以在应用中使用的有用视图空间的框架。
我在尝试处理设备旋转时遇到问题。通过一些调试,我知道从上面的方法得到的值不一定是我正在寻找的。 p>
简而言之,无论设备旋转,我最终都在寻找作为我工作区域的视图大小(屏幕减去状态和导航控制工具栏)。你如何建议我获得这个尺寸/框架?
感谢。
答案 0 :(得分:1)
通过以下有关此帖子的信息解决了这个问题 - stackoverflow.com/q/7905432/870345。我的代码:
- (CGSize)currentSize
{
CGSize size = [UIScreen mainScreen].bounds.size;
UIApplication *application = [UIApplication sharedApplication];
if (UIInterfaceOrientationIsLandscape([UIApplication sharedApplication].statusBarOrientation)) {
size = CGSizeMake(size.height, size.width);
}
if (application.statusBarHidden == NO) {
size.height -= MIN(application.statusBarFrame.size.width, application.statusBarFrame.size.height);
}
size.height -= self.navigationController.navigationBar.frame.size.height;
return size;
}
答案 1 :(得分:0)
可能不是他最好的方式,但你可以在你的视图上放下一个UIView并设置它的弹簧和支柱,以便它自动调整并保持全屏。然后通过插座将框架放到此视图中。