Фоновое изображение панели навигации - PullRequest
3 голосов
/ 21 июля 2010

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

1 Ответ

3 голосов
/ 21 июля 2010
@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

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

РЕДАКТИРОВАТЬ: Для iOS 5

if ([self.navigationController.navigationBar respondsToSelector:@selector(setBackgroundImage:forBarMetrics:)] )
{
    UIImage *image = [UIImage imageNamed:@"headerlogo.png"];
    [self.navigationController.navigationBar setBackgroundImage:image forBarMetrics:UIBarMetricsDefault];
}
...