Пользовательская панель навигации Iphone - ошибка белого ящика - PullRequest
0 голосов
/ 12 апреля 2011

Моя проблема проста. Я использовал метод подкласса навигационной панели, а затем использовал drawRect, чтобы попытаться нарисовать свое собственное изображение панели навигации. Тем не менее, это не рисует мое изображение ... только пустое пространство.

Структура моего проекта представляет собой панель вкладок с контроллером навигации под каждой из его вкладок. Каждый контроллер навигации имеет панель навигации, и я установил эти панели в свой пользовательский класс (customNavBar) в IB.

В моем файле customNavBar.h у меня есть:

@interface customNavBar : UINavigationBar {
}

@end

В моем файле customNavBar.m у меня есть:

#import "customNavBar.h"


@implementation customNavBar

-(void) dealloc{
    [super dealloc];
}


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

@end

Есть идеи, почему мое изображение может не отображаться, а просто получать белый фон? Мое изображение находится в проекте в папке ресурсов.

Спасибо всем. :)

Ответы [ 2 ]

1 голос
/ 12 апреля 2011

Когда я реализовал ваш код в тестовом проекте, я действительно увидел изображение.Я, однако, сделал

[image drawInRect:self.frame];

Изображение закончилось тем, что покрыло нижнюю половину навигационной панели, а верхняя половина была белой (как вы видите).Возможно, ваше изображение нарисовано слишком низко?Попробуйте поиграть с прямоугольными значениями или просто установите его в self.frame, как я, и посмотрите, что произойдет.Если вы все еще не видите изображение, убедитесь, что ваш класс навигационной панели фактически установлен на ваш пользовательский класс в конструкторе интерфейса, и этот код вызывается для рисования вашей навигационной панели (возможно, обязательно используйте оператор print).

0 голосов
/ 19 августа 2011

это на самом деле должно быть:

[image drawInRect:self.bounds];

и не забудьте navigation_bg@2x.png для отображения Reitna

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...