Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Изменение фонового изображения UINavigationBar по умолчанию - iOS 4.3

Автор вопроса: Timur MustafaevОтветов: 2

Я меняю фоновое изображение UINavigationBar с помощью перегруженного метода

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

@end

Но в некоторых UIViewControllers мне нужно удалить это фоновое изображение. Как я могу это сделать?

  • Вы подклассифицируете UINavigationBar? Otium 15.04.2012

iosiphoneobjective-cuinavigationbar

Ответы

Ответ 1 · рейтинг 2 · Jonas Schnelli

Вы можете посмотреть эту запись в блоге Себастьяна Селиса. Это решает именно ту проблему, с которой вы столкнулись.

И, возможно, также проверьте это.

Ответ 2 · WhiteTiger

тестировать таким образом

+ (void)setNavigationbarBackground:(UINavigationBar *)nBar imageName:(NSString *)imgName {
    if([nBar respondsToSelector:@selector(setBackgroundImage:forBarMetrics:)]) {
        [nBar setBackgroundImage:[UIImage imageNamed:imgName] forBarMetrics:UIBarMetricsDefault];
    } else {
        [nBar setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:imgName]]];
    }
}

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы