0
的定制目前我们使用的代码块,在整个我们的应用程序定制UINavigationBar的背景图片:防止MFMailComposeViewController背景图像
@implementation UINavigationBar(MyExtensions)
- (UIImage *)barBackground {
return [UIImage imageNamed:@"GlobalTitleBackground.png"];
}
- (void)didMoveToSuperview {
//iOS5 only
if ([self respondsToSelector:@selector(setBackgroundImage:forBarMetrics:)])
{
[self setBackgroundImage:[self barBackground] forBarMetrics:UIBarMetricsDefault];
}
}
//this doesn't work on iOS5 but is needed for iOS4 and earlier
- (void)drawRect:(CGRect)rect {
//draw image
[[self barBackground] drawInRect:rect];
}
@end
一般情况下,这个伟大的工程。我遇到的问题是,当我创建一个MFMailComposeViewController时,它的背景也被定制。
因此,鉴于我现在的代码,是否有可能对所有UINavigationBars 进行自定义,除了由MFMailComposeViewController创建的UINavigationBar?
在此先感谢!
是除了这个还有什么其他的解决方案? – 2012-10-03 12:46:19
您可以删除该特定视图MFMailController的自定义导航栏。 [mailVC setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault]; – 2012-10-03 13:52:34
如果使用外观代理完成了该怎么办? – 2012-10-03 15:14:46