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