gpt4 book ai didi

objective-c - UIAppearance 移除 UIPopoverController 的自定义 NavBar 背景

转载 作者:太空狗 更新时间:2023-10-30 03:40:28 24 4
gpt4 key购买 nike

我正在整合 iOS 5 的 UIAppearance 功能,为我的通用应用程序提供一个独特的主题。目前,我已经在我的 App Delegate 中实现了一些代码来为应用程序提供自定义导航栏:

UIImage *navBarImage = [[UIImage imageNamed:@"navigationBar.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(7, 7, 7, 7)];
[[UINavigationBar appearance] setBackgroundImage:navBarImage forBarMetrics:UIBarMetricsDefault];

这很好用,并将所有导航栏从 Apple 的普通样式更改为明亮的渐变。但是,我遇到的问题是它覆盖了一些我不想要的样式。我的特殊问题是它覆盖了 iPad 的 UIPopoverController 中的导航栏背景,从而造成丑陋的用户体验。请告诉我如何修复它。

编辑:请注意,这是一个通用应用程序,我通过 iPad 上的 UIPopoverController 和 iPhone/iPod 上的模态视图打开图像选择器。我只想删除 iPad 弹出窗口上导航栏的自定义背景,而不是模态视图上的自定义背景。

目前的样子: enter image description here

我希望它看起来像: enter image description here

在此先感谢您的帮助,古维

最佳答案

尝试使用 +appearanceWhenContainedIn: 方法在导航栏包含在弹出框 Controller 中时从导航栏中删除背景图像自定义。像这样:

[[UINavigationBar appearanceWhenContainedIn:[UIPopoverController class], nil] setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];

文档中并不清楚将导航栏的背景图像设置为 nil 是否会恢复其默认外观——如果这不起作用,您可能必须采取相反的方法,并提供列表您正在使用的非 popover 容器 View Controller 的 +appearanceWhenContainedIn:

关于objective-c - UIAppearance 移除 UIPopoverController 的自定义 NavBar 背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11334062/

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