2010-08-06 33 views
5

Tôi đã thấy nó được thực hiện trên một số ứng dụng, nơi thanh điều hướng là thực sự nhỏ hơn 44px mặc định, và có một UIView (trong đó có chức năng) trên các nav bar ...Bạn có thể thêm UIView trên UINavigationBar không?

tôi muốn nhiều hơn một hình nền tùy chỉnh, mà tôi đã quản lý để tìm ra cách để làm, nhưng tôi không biết bắt đầu từ đâu để nhận được một cái gì đó như thế này thực hiện.

Any help is appreciated rất nhiều :) Đánh dấu

Trả lời

3

Tôi tìm thấy một loại cách để làm điều này:

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

mà dường như làm các trick, mặc dù tôi có thể dường như không tìm ra cách để có được điều này 'vào' navigationController để các nút quay lại hoạt động, tại thời điểm này tôi phải tự chèn một leftBarButtonItem vào navItem, nút quay lại không bao giờ có vẻ ...

0

Có thể,

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]]; 
Các vấn đề liên quan