2011-11-19 104 views
0

在自定義UINavigationController時遇到了一些問題。大小更改正在工作,但(1px * 60px)圖像不起作用。代碼位於MasterViewController中。UISplitViewController中的自定義UINavigationbar

任何想法?

@implementation UINavigationBar (custom) 

- (CGSize)sizeThatFits:(CGSize)size { 
    CGSize newSize = CGSizeMake(self.frame.size.width,60); 
    return newSize; 
} 

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

回答

2

the documentation

在iOS 5中,所述UINavigationBarUIToolbar,和UITabBar實現已經改變,使得除非它是在子類中實現的方法drawRect:不調用。重新實施drawRect:在任何這些類別的類別中的應用程序都會發現不調用drawRect:方法。 UIKit會執行鏈接檢查,以防止iOS 5之前鏈接的應用程序中調用該方法,但不支持iOS 5或更高版本中的此設計。應用程序可以是:

  • 在iOS 5及更高版本中使用自定義API,這是首選方式。
  • 子類UINavigationBar(或其他欄類)並覆蓋子類中的drawRect:
相關問題