gpt4 book ai didi

ios - 如何修复 iOS 7 状态栏的高度和宽度问题

转载 作者:可可西里 更新时间:2023-11-01 04:07:26 25 4
gpt4 key购买 nike

我制作了一个自定义 toast 库(非常简单,只是一个出现在导航栏下方的框)。这在我的目标群体 iOS 6 中运行良好。但由于 iOS 7 已发布,它无法正确显示。

我试图修复它的方法是通过这段代码:

if(SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7,0")){
self.offset = [UIApplication sharedApplication].statusBarFrame.size.height + self.viewController.navigationController.navigationBar.frame.size.height;
}

我做了一个可以在Stack overflow上找到的宏来检测iOS版本是否为7,然后添加状态栏高度和导航高度。这在 iOS 7 的纵向模式下工作正常,但当我切换到横向时偏移量变为 512?

谁能解释这是怎么发生的以及我该如何解决这个问题?


决定拆分代码作为评论,看看究竟是什么导致了差异。我所做的是:

CGFloat statusBarHeight =[UIApplication sharedApplication].statusBarFrame.size.height;

CGFloat navBar = self.viewController.navigationController.navigationBar.frame.size.height;
self.offset = statusBarHeight + navBar;
NSLog(@"Init - statusBarHeight: %f, navBar: %f", statusBarHeight, navBar);

由于某些原因,statusbar 纵向为 20,横向为 480


这是因为高宽调反了,答案来自评论

最佳答案

因为我之前做过同样的“修复”,所以我注意到在风景中

[UIApplication sharedApplication].statusBarFrame.size.width  

 [UIApplication sharedApplication].statusBarFrame.size.height  

值被切换。

关于ios - 如何修复 iOS 7 状态栏的高度和宽度问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19534644/

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