Как установить изображение заголовка для всех экранов (UIViewControllers) в xcode interface builder?

#iphone #objective-c #uiview #interface-builder

#iPhone #objective-c #uiview #interface-builder

Вопрос:

В настоящее время я внедряю простое приложение с вкладками, и мне нужно отобразить изображение логотипа заголовка на всех экранах. Очевидно, что самый простой способ — поместить изображение во все xib-файлы. Просто любопытно, есть ли другие варианты?

ОБНОВЛЕНИЕ: если я помещу изображение внутри объекта window в MainWindow.xib, оно появится на всех контроллерах просмотра, но оно не будет вращаться. Если я размещу изображение за пределами окна, оно вообще не будет отображаться.

Ответ №1:

Добавьте ImageView в главное окно и установите цвет bg для всех ваших представлений как clearColor.

Комментарии:

1. Я добился желаемой функциональности, но у меня проблема. Изображение не вращается: (Есть ли какие-либо способы, как это настроить? Я думаю, это может быть невозможно сделать с этим решением…

2. Вращение? вы имеете в виду после изменения ориентации?

Ответ №2:

Сделайте так, чтобы все ваши представления (xib) имели четкий цветной фон и поле сверху (для заголовка), затем поместите изображение заголовка в свой объект AppDelegate в качестве подвида TabBarController:

 UIImageView *nav=[[UIImageView alloc] initWithFrame:CGRectMake(0, self.window.frame.size.height/24, self.window.frame.size.width, 44)];
[nav setImage:[UIImage imageNamed:@"header.png"]];
[self.tabBarController.view addSubview:nav];
[nav release];
  

Я думаю, это решит проблему поворота.