gpt4 book ai didi

ios - UINavigationBar 的顶角在 iOS6 中被四舍五入

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:19:41 30 4
gpt4 key购买 nike

我有一个带有自定义背景的 UINavigation 栏,我在代码的 viewDidLoad 方法中这样设置:

UIImage *image = [UIImage imageNamed:@"V2_navbar"];
[self.navigationBar setBackgroundImage:image forBarMetrics:UIBarMetricsDefault];

在 iOS 5 中,结果如下所示:

enter image description here

在 iOS 6 中,结果如下所示:

enter image description here

一方面,状态栏现在是黑色的,这没问题。但是,如果您仔细查看第二张图片,您会注意到我的导航栏的顶角现在被四舍五入了,这看起来很糟糕。

有人知道如何解决这个问题吗?

最佳答案

基于快速实验...

作为解决方法,只需在项目设置中将状态栏样式设置为黑色半透明即可。最终效果是您的 UIWindow 获得了整个屏幕,包括状态栏后面的区域 — 在 3.5"设备上,您的窗口将是 480pts 而不是 460。但是,除非您的 View Controller 设置 wantsFullScreenLayoutYES 您将不需要绘制该区域,它看起来与黑色不透明相同。

如果您的代码随后在某处以编程方式设置状态栏样式,您可能希望禁用它。

编辑:回答 Matt.Z 的担忧...Apple 添加了圆角,因为那里的设计师有时喜欢屏幕边缘的圆角。 1984 年最初的 Macintosh 桌面在所有四个角上都有它们,它们一直存在到 OS 9,OS X 最初将它们保留在两个顶角,但随后在 10.5 中消失了。

在这种情况下,他们似乎走了另一条路,决定在 iOS 5 和 6 之间的“显示边缘”添加圆角。因此,Apple 纯粹出于美学原因添加了圆角。

通过将 wantsFullScreenLayout 设置为 YES,您可以将应用程序能够用作全屏的区域扩展到状态栏下方,这样“边缘显示不再是导航栏的顶部。由于 Apple 不想通过从显示区域中间切出大块来破坏应用程序,因此 iOS 不会添加边角。

关于ios - UINavigationBar 的顶角在 iOS6 中被四舍五入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12607073/

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