Был правый фокус с фоном для ToolBars и NavBars. Я знаю, что установка фонового изображения NavBar и ToolBar - это, как правило, ловушка. Но, когда вы представляете модальные VC, по какой-то безумной причине, когда добавляется NavBar, и вы меняете фоновое изображение, оно, похоже, удваивается. Изменение высоты имеет странные результаты.
Моя проблема была в том, где я использовал NavController на всем своем приложении, но мне нужен модальный вид для одного или двух аспектов этого. Достаточно просто. Однако мне понадобился заголовок типа NavBar или ToolBar с кнопкой «Готово», чтобы вытащить VC из стека. Опять же, не проблема. Но мне нужно, чтобы NavBar или ToolBar выглядели так же, как и везде в моем приложении.
Я поселился на ToolBar, увидев, что VC был представлен модально. Итак, там мой ToolBar сидел, в типичном Apple-синем. Приятно, но не так, как выглядела остальная часть моего приложения, где черное изображение использовалось для каждого NavBar. Используя прокси-сервер внешнего вида iOS 5, я изменил фоновое изображение ToolBar. И это сработало. Но, если бы у меня не было UIImage точно в пропорциях и размерах, ожидаемых панелью инструментов, я был в маринованном. Образ просто не выглядел правильным. Итак, я решил создать UIIMageView, где я мог бы управлять режимом содержимого, а затем вставлять subview в toolBar.
Посмотрите на мой код ниже.
UIImageView *toolbarImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:NAV_BAR_BACKGROUND]];
[toolbarImageView setFrame:[self.IBOToolBar bounds]];
[toolbarImageView setContentMode:UIViewContentModeScaleAspectFill];
[self.IBOToolBar insertSubview:toolbarImageView atIndex:1];
Это немного пух, но я надеюсь, что это поможет кому-то изменить изображение на панели инструментов.
NAV_BAR_BACKGROUND может быть определена следующим образом:
#define NAV_BAR_BACKGROUND @"navBarBlackMattDarkSquare.png"
сделал и попытался что-нибудь, если да, то разместить код – WaaleedKhan