我有一个仅支持iOS 7的应用程序,使用UIAppearance为整个应用程序中的UINavigationBar设置样式。
我在AppDelegate中有以下代码:
我在AppDelegate中有以下代码:
[[UINavigationBar appearance] setBackgroundImage:redImage forBarMetrics:UIBarMetricsDefault];
[[UINavigationBar appearanceWhenContainedIn:[MFMailComposeViewController class], nil] setBackgroundImage:blueImage forBarMetrics:UIBarMetricsDefault];
然而,MFMailComposeViewController出现了红色背景的图像!
文档中说:
重要提示:此类的视图层次结构是私有的,您不能修改它。但是,您可以使用UIAppearance协议自定义实例的外观。
所以以上操作不应该有问题,我100%确定redImage
和blueImage
是不同颜色的图片。
还有其他人遇到过这个问题吗? 我猜这是iOS 7的一个bug,但我还没有时间在iOS 6上进行检查(我是通过iPad 4来获取这些结果的)。