изменить фон панели навигации, используя мое собственное изображение - PullRequest
2 голосов
/ 23 ноября 2010

Я хочу изменить фон панели навигации, используя собственное изображение, но я действительно не знаю, что делать.Я искал его в Google, но некоторые образцы рассказывают в шаблоне панели навигации.мое приложение представляет собой разделенную базу.Как я мог это сделать ??

Ответы [ 4 ]

4 голосов
/ 24 марта 2011

Если вы хотите изменить фон навигационной панели, что тоже без использования категории, это может быть полезно, чтобы дать такое ощущение, посмотрите, отвечает ли оно вашим потребностям:

- (void)viewDidLoad {
    [super viewDidLoad];

        UIView *v = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, 320.0, 44.0)];
        //here for v, width= navBar width and height=navBar height

    [v setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"a.png"]]];

    [self.view addSubview:v];

    [v release];

    [self.navigationController.navigationBar setBackgroundColor:[UIColor clearColor]];

    [self.navigationController.navigationBar setBarStyle:UIBarStyleBlackTranslucent];
}
2 голосов
/ 19 сентября 2012

Вы можете добавить изображение прямо в фон панели навигации с кодом ниже

[navigation_bar setBackgroundImage:[UIImage imageNamed:@"image.jpg"] forBarMetrics:UIBarMetricsDefault];

2 голосов
/ 23 ноября 2010
#import "ImageViewController.h"

@implementation UINavigationBar (CustomImage)

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

@end
implement this code in your .m file


@implementation ImageViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    self.navigationController.navigationBar.tintColor = [UIColor blackColor];
    UIImageView *backGroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"background.png"]];
    [self.navigationController.navigationBar insertSubview:backGroundView atIndex:0];
    [backGroundView release];
}

@end
0 голосов
/ 23 ноября 2010

Чтобы добавить фоновое изображение в UINavigationBar, вам нужно создать категорию, которая расширяет UINavigationBar.Просто найдите приведенный ниже код и добавьте его в файл реализации.

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

После его реализации .. вы можете вызывать его в любом месте приложения и видеть изменения в каждом представлении.Не забудьте добавить изображение в папку с ресурсами.

...