2010-05-07 118 views
1

我定製我的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; 

你能幫我嗎?

回答

1

你可以通過使用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