gpt4 book ai didi

ios - IOS7状态栏和导航栏问题

转载 作者:IT王子 更新时间:2023-10-29 07:34:44 24 4
gpt4 key购买 nike

我正在将我的应用程序迁移到 iOS 7。为了处理状态栏问题,我添加了这段代码

if([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0f)
{
CGRect frame = self.navigationController.view.frame;
if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
{
frame.origin.y = 20;
}
else
{
frame.origin.x = 20;
}
[self.navigationController.view setFrame:frame];
}

这在正常情况下工作正常。如果我正在改变方向(应用程序仅支持横向)或呈现任何 View Controller 并关闭 Model View Controller ,我的 View Controller 对齐方式就会改变。状态栏再次与我的 View Controller 重叠。这段代码根本不起作用。请指导我解决此状态栏问题。

案例 2:这是我呈现 View Controller 的方式

ZBarReaderViewController *reader = [ZBarReaderViewController new];
reader.readerDelegate = self;

if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
reader.supportedOrientationsMask = ZBarOrientationMaskLandscape;
else
reader.supportedOrientationsMask = ZBarOrientationMaskPortrait;

[self presentModalViewController:reader animated:YES];

引用:

enter image description here

提前致谢。

最佳答案

修复了 IOS 7 中的状态栏问题

最后,我使用 xcode5 中的增量值属性修复了状态栏重叠问题。首先,我将 origin - y 20pxl 增加到 Xib 中使用的所有 Controller (它似乎只在 IOS 7 中工作正常),之后我将所有 View Controller origin -y 的增量值设置为 -20 它工作正常在 iOS 6 和 iOS 7 中。

执行此操作的步骤。

Xcode 5 提供预览选项以根据操作系统版本在不同 View 中查看 xib 的外观。

从助理编辑器中选择预览选项

点击助手编辑器

enter image description here

并选择预览选项以在不同版本中预览选定的 View Controller 。

enter image description here

View Controller View 预览选项。

enter image description here

在预览中,您可以找到切换选项以预览不同版本的 View 。在预览中,如果未通过切换版本正确修复,您可以清楚地感觉到状态栏问题。

修复状态栏问题的三个步骤:第 1 步:确保文件检查器中的 View 针对我们 7.0 及更高版本

enter image description here

第 2 步:为 View Controller 中添加的所有控件增加 origin - y 20 像素(正好是状态栏的大小)。

第3步:将所有控件的origin y的delta值设置为-20,这样只会根据版本自动调整。现在使用预览,感受控件因增量值而自动调整的不同。

enter image description here

一旦状态栏问题得到解决,模型 View (ZbarSDk Controller )呈现时的问题也会自动得到解决。

预览画面:

enter image description here

关于ios - IOS7状态栏和导航栏问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18980925/

24 4 0