删除自定义UINavigationBar的

问题描述:

我定制我的UINavigationBar的用那种形象:删除自定义UINavigationBar的

@implementation UINavigationBar (CustomImage) 
- (void)drawRect:(CGRect)rect { 
    UIImage *image = [UIImage imageNamed: @"NavigationBar.png"]; 
    [image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)]; 
} 
@end 

当我启动的视频我的自定义导航栏(带照片)是在顶部或我想有默认navigationBar风格,当我播放视频

我试图隐藏的导航栏与

[self.navigationController setNavigationBarHidden:YES animated:animated]; 

,但它只是删除的导航栏在我的控制器,但我仍然有NavigationBar.png当我播放视频。我试图设置barstyle但它也不工作...

self.navigationController.navigationBar.barStyle = UIBarStyleDefault; 

你能帮我吗?

你可以通过使用extern boolean变量来说:isVideo;

@implementation UINavigationBar (CustomImage) 
- (void)drawRect:(CGRect)rect { 
    if(!isVideo){ 
     UIImage *image = [UIImage imageNamed: @"NavigationBar.png"]; 
     [image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)]; 
    } 
    else{ 
     UIImage *image = [UIImage imageNamed: @"SimpleNavigationBarImage.png"]; 
     [image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)]; 
    } 
} 
@end 

希望这会有所帮助。

感谢,

Madhup

+0

喜Madhup和感谢的为您解答。 这可以工作,但它会改变我的NavigationBar的图像,而不是使用默认的。 – Lithium 2010-05-07 13:05:52