я хочу изменить фоновое изображение панели навигации при переходе на другой вид в iphone? - PullRequest
0 голосов
/ 31 января 2012

Я занимаюсь разработкой приложения, в котором мне приходится размещать изображения на панели навигации, и каждый раз, когда пользователь переходит к другому виду, на панели навигации должны появляться другие изображения.Может ли кто-нибудь дать мне руководство, как это сделать?

Ответы [ 2 ]

1 голос
/ 31 января 2012

Это может быть более общий подход.

Создайте категорию для UINavigationBar и в файле ".h"

@interface  UINavigationBar (UINavigationBarCategory)

-(void)setBackgroundImage:(UIImage*)image;

@end

и в файле ".m"

@implementation UINavigationBar (UINavigationBarCategory)

-(void)setBackgroundImage: (UIImage*)image
{

    if (image)
    {

        UIImageView *img = [[UIImageView alloc]initWithImage: image];
        aTabBarBackground.frame = CGRectMake(60,0, 200, 45);//Frame depends upon you 
        [self addSubview:img];
        [img release];
    }

}
@end

И затем из каждого 'viewwillAppear' Контроллера вы можете сделать что-то вроде этого:

 [self.navigationController.navigationBar setBackgroundImage: @"abc.png"];
0 голосов
/ 31 января 2012

попробуйте этот код ...

UINavigationBar *navigationBar=[[self navigationController]navigationBar];
UIImage *backgroundImg =[UIImage imageNamed:@"example.png"];
[navigationBar setBackgroundImage:backgroundImg forBarMetrics:UIBarMetricsDefault];

добавить этот код в viewwillappear и дать имя изображения, которое будет отображаться вместо example.png

...