Подтвердить что ты не робот

UINavigationController - сохранить фоновое изображение во всех представлениях

Возможный дубликат:
Внешнее переопределение UINavigationBar в iOS 5

Есть ли способ, чтобы фоновое изображение оставалось постоянным во всех представлениях в навигационном контроллере? В настоящее время я загружаю один и тот же фон в каждом представлении viewDidLoad, но это показывает перемещение фонового изображения при навигации по представлению для просмотра. Я предпочел бы только содержание представления infront фона "слайд" вкл/выкл, но фон остается неподвижным. Это мой текущий код загрузки фонового изображения:

UIImageView *background = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)];
background.image = [UIImage imageNamed:@"InfoBackground.png"];
[self.view addSubview:background];
[self.view sendSubviewToBack:background];
[background release];

Спасибо!

4b9b3361

Ответ 1

Hm, возможно, если вы посмотрите на documentation (прокрутите вниз до рисунка 2), вы получите представление о том, с чем имеете дело. Поскольку вы устанавливаете фоновое изображение для каждого из ваших контроллеров представлений, которые вставляются в UINavigationController, вы получите эту анимацию. Что вам нужно сделать, это установить фоновое изображение в контроллер nav.

Я считаю, что myNavController.view insertSubview:myImageView atIndex:0 должен работать. Если ваше изображение должно быть заполнено за содержимым в точности, вы можете установить координаты кадра на основе координат и/или высот панели навигации и панели инструментов, к которым можно получить доступ через свойства контроллера навигации. Если нет, просто установите рамку в рамки супервизора.

Сообщите мне, как это происходит.

Изменить: О, обратите внимание, что вам нужно убедиться, что каждый из ваших контроллеров просмотров имеет прозрачные фоны.

Ответ 2

Я думаю, что лучшая идея - разместить фоновое изображение в окне и установить цвет фона всех представлений (весь вид viewcontroller), чтобы очистить цвет [UIColor clearColor].

Ответ 3

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

Я просто предлагаю попробовать таким образом, я не пробовал это.