我正在使用的應用程序具有自定義的色塊欄,但支持iOS 4.2-iOS 5,所以我需要在我的應用程序委託中以舊派的方式設置UINavigationBar背景和色調。iOS中的UINavigationBar色彩閃爍4
@implementation UINavigationBar (UINavigationBarCategory)
- (void)drawRect:(CGRect)rect {
self.tintColor = [UIColor colorWithRed:42.0/255.0
green:164.0/255.0
blue:182.0/255.0
alpha:1.0];
UIImage *img = [UIImage imageNamed:@"navbar_bg.png"];
[img drawInRect:CGRectMake(0.0, 0.0,
self.frame.size.width,
self.frame.size.height)];
}
@end
該方法適用於大多數情況,但我注意到,當應用程序是第一次啓動時,UIBarButtonItems閃光燈默認的導航欄顏色第二,他們自行糾正和改變顏色相匹配的導航欄前。有趣的是,導航欄本身使用正確的背景圖像。
要清楚,我使用了setBackgroundImage爲UINavigationBar的上如預期,使閃光燈只在iOS的4
任何人有,爲什麼會發生這種情況和/或如何將任何洞察力作品的iOS 5設備修理它?
在應用程序生命週期的哪個階段,您是否使用引用的代碼調用該類,它是否在viewDidLoad中? – valexa 2012-02-28 20:48:34