Как настроить панель навигации на iPhone в Xcode? - PullRequest
1 голос
/ 07 января 2012

У меня есть следующие фрагменты кода:

1.)

[[UINavigationBar appearance] setBackgroundImage:myImage forBarMetrics:UIBarMetricsDefault];

Где бы я это поместил?

или 2.)

@implementation UINavigationBar (BackgroundImage)
//This overridden implementation will patch up the NavBar with a custom Image instead of the title
- (void)drawRect:(CGRect)rect {
     UIImage *image = [UIImage imageNamed: @"NavigationBar.png"];
     [image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
}
@end

Куда бы я это положил?

Я попытался добавить панель навигации в мой viewcontroller, но я точно не знаю, куда поместить эти куски кода.

1 Ответ

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

Фрагмент 1 только для iOS 5.0. Вы бы поместили это где-то до того, как ваша панель навигации будет создана, поэтому, возможно, в applicationDidFinishLaunching: Посмотрите здесь для получения дополнительной информации:

Snippet 2 - это то, что вы делали до iOS 5.0. Это категория на UINavigationBar. Я на самом деле не видел переопределения drawRect: в категории раньше, но кажется, что это работает. Просто создайте категорию в своем проекте на UINavigationBar и добавьте этот код. Так что-то вроде:

UINavigationBar+MyCategory.h:

@interface UINavigationBar (MyCategory)
- (void)drawRect:(CGRect)rect;
@end

UINavigationBar+MyCategory.m

#import "UINavigationBar+MyCategory.h"

@implementation UINavigationBar (MyCategory)
- (void)drawRect:(CGRect)rect {
     UIImage *image = [UIImage imageNamed: @"NavigationBar.png"];
     [image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
}
@end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...