2015-02-24 71 views

回答

1

这是不工作?

UINavigationBar *navBar = [[UINavigationBar alloc] initWithFrame: CGRectMake(0.0f, 20.0f, 320.0f, 32.0f)]; 
UIView *tempView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 20)]; 

[[self view] addSubview: tempView]; 
[[self view] addSubview: navBar]; 
UINavigationItem *navItem = [[UINavigationItem alloc] initWithTitle: @"Controls"]; 
[navBar pushNavigationItem:navItem animated:NO]; 
1

在下面的代码中,我将一个视图嵌入到导航栏中,其中我的嵌入式视图绘制了背景和新按钮。该代码还涉及在设备旋转时中继视图。

- (void)viewDidLayoutSubviews { 
    [super viewDidLayoutSubviews]; 

    if (view.superview == nil) { 
     [self.navigationBar addSubview:view]; 
     [self.navigationBar setBackgroundImage:[[UIImage alloc] init] forBarMetrics:UIBarMetricsDefault]; 
    } 

    CGRect frame = self.navigationBar.frame; 
    frame.size.height = MY_NAVBAR_HEIGHT; 
    self.navigationBar.frame = frame; 
    view.frame = self.navigationBar.bounds; 
}