2010-08-06 3 views
5

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

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

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

ответ

3

я нашел своего рода способ сделать это:

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]; 

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

0

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

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]]; 
Смежные вопросы