我有一个仅适用于 iOS 7 的应用程序,它使用 UIAppearance 在整个应用程序中设置 UINavigationBar 的样式。
我的 AppDelegate 中有以下代码:
[[UINavigationBar appearance] setBackgroundImage:redImage forBarMetrics:UIBarMetricsDefault];
[[UINavigationBar appearanceWhenContainedIn:[MFMailComposeViewController class], nil] setBackgroundImage:blueImage forBarMetrics:UIBarMetricsDefault];
然而 MFMailComposeViewController 出现了 redImage 背景!
该文档说明了以下内容:
重要提示:此类的视图层次结构是私有的,您不得修改它。但是,您可以使用 UIAppearance 协议自定义实例的外观。
redImage
所以没有理由上述不应该工作,我 100% 确定这blueImage
是不同的彩色图像。
有没有其他人遇到过这个问题?我猜这是 iOS 7 中的一个错误,但我没有时间检查 iOS 6(我使用 iPad 4 得到这些结果)。