gpt4 book ai didi

ios - UINavigationBar 外观背景图像在 iOS 7.1 中重复和模糊

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:01:18 25 4
gpt4 key购买 nike

我认为现有项目和 iOS7.1 存在一个有趣的问题。我的代码可以正常工作和执行;自从在我的设备上更新 XCode 和我的 iOS 后,我遇到了一个问题,该项目的导航栏中使用的透明背景图像现在渲染了两次,一次是正确的大小,一次是放大和模糊。该代码仅通过应用程序委托(delegate)中的 [UINavigationBar appearance] api 添加图像。为了检查这不是我的代码的特定错误,我使用主细节默认值创建了一个默认的 xcode 项目,将其设置为仅限 iPhone,添加了一些新创建的图像并使用应用程序委托(delegate)中的相同调用来设置它们。这个项目有同样的问题,在 github 上:

UINavigationBarBug github source

这是相关的代码块:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"TLS.png"]
forBarMetrics:UIBarMetricsDefault];
[[UINavigationBar appearance] setBarTintColor:RGB(233, 155, 20)];
[[UINavigationBar appearance] setTintColor:RGB(245, 245, 245)];

return YES;
}

问题截图:

Navigation Bar image problem

查看转换文档我在这里所做的应该没问题,44 点高的导航栏应该水平缩放而不是垂直缩放。我也很确定这个问题在更新之前从未发生过(在将代码上传到 apple 进行审核之前,内部 QA 会发现这个问题)。

有两件事可以解决:

1) 使用非透明图像,如果它仍然有问题,它会第二次加载“正确”图像,并且由于缺乏透明度会覆盖错误呈现的图像。

2) 改为使用 66 点高的导航栏(在顶部透明部分作为 TLS-ios7 的项目中可用),更改应用程序委托(delegate)中的代码以使用它来解决问题。

谁能告诉我这是怎么回事?这是错误吗?是我的错吗?是否有文档的某些部分告诉我为什么会这样?

谢谢!

** 更新:我最近发现身边放着一台iPad,还在运行iOS 7.0,并没有出现这个问题。 **

最佳答案

我的应用程序也有类似的问题。我通过将 UINavigationBar 的“半透明”设置为 NO 解决了这个问题。

[self.navigationController.navigationBar setTranslucent:NO];

关于ios - UINavigationBar 外观背景图像在 iOS 7.1 中重复和模糊,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22530517/

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