Можете ли вы добавить UIView над UINavigationBar? - PullRequest
5 голосов
/ 06 августа 2010

Я видел, как это было сделано в некоторых приложениях, где панель навигации на самом деле меньше, чем стандартная 44px, и есть UIView (с функциональностью) выше панель навигации ...

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

Любая помощь очень ценится :) Mark

Ответы [ 2 ]

3 голосов
/ 06 августа 2010

Я нашел способ сделать это:

UINavigationBar *navBar = [[UINavigationBar alloc] initWithFrame: CGRectMake(0.0f, 20.0f, 320.0f, 32.0f)];

UIView *tempView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 20)];
UIImageView *back = [[UIImageView alloc] initWithImage: [UIImage imageNamed:@"logo.png"]];
[back setFrame: CGRectMake(0, 0, 320, 20)];
[tempView addSubview: back];
[[self view] addSubview: tempView];

[[self view] addSubview: navBar];

UINavigationItem *navItem = [[UINavigationItem alloc] initWithTitle: @"Controls"];
[navBar pushNavigationItem:navItem animated:NO];

, который, кажется, делает свое дело, хотя я не могу понять, как получить это «в» навигационном контроллере, чтобы кнопки «назад» работали, в настоящий момент я должен вручную вставить leftBarButtonItem в navItem, зад Кнопка никогда не показывает ...

0 голосов
/ 14 августа 2012

Да, вы можете,

UINavigationBar *navBar = [[UINavigationBar alloc] initWithFrame: CGRectMake(0.0f, 20.0f, 320.0f, 32.0f)];
UIView *tempView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 20)];
navBar.navigationBar.layer.zPosition =-1; 
self.view insertSubview:navBar atIndex:[[self.view subviews] count]];
[self.view insertSubview:tempView atIndex:[[self.view subviews] count]];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...