2010-07-21 6 views
3

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

ответ

3
@implementation UINavigationBar (UINavigationBarCategory) 

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


@end 

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

EDIT: Для прошивкой 5

if ([self.navigationController.navigationBar respondsToSelector:@selector(setBackgroundImage:forBarMetrics:)]) 
{ 
    UIImage *image = [UIImage imageNamed:@"headerlogo.png"]; 
    [self.navigationController.navigationBar setBackgroundImage:image forBarMetrics:UIBarMetricsDefault]; 
} 
Смежные вопросы