2013-03-13 84 views
0

我问这个问题,但不正确。我创建NavigationVC控制器:navigationBar出现在statusBar

#import <UIKit/UIKit.h> 
@interface NavigationVC : UINavigationController 

- (void)setTitleText:(NSString *)title calendar:(BOOL)calendar moveToLeft:(BOOL)left; 
//this method for create title of navigationitem that I then use in all ViewControllers 

@end 

在NavigationVC.m我:

@implementation NavigationVC 

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 
{ 
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
    if (self) { 
    // Custom initialization 
} 
    return self; 
} 

- (void)awakeFromNib 
{ 
    [self.navigationBar setBackgroundImage:[UIImage imageNamed:@"backGroundLayer.png"] forBarMetrics:UIBarMetricsDefault]; 
} 

- (void)viewWillAppear:(BOOL)animated 
{ 
    [super viewWillAppear:animated]; 

} 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

} 

图片backGoundLayer.png具有分辨率320x44,我有[email protected]与640x88

我创建视图 - 控制从UIViewController继承的BaseVC,以及从BaseVC继承的其他视图控制器。

我在故事情节我的笔尖

enter image description here

而且我的问题,接下来的创建:

enter image description here

第一背景图像显示的状态栏。下,但你可以看到其他的背景图像显示的下方状态栏。我尝试在故事板更改statusBar黑色,但它不帮助我。我尝试写入方法

[self.navigationBar setBackgroundImage:[UIImage imageNamed:@"backGroundLayer.png"] forBarMetrics:UIBarMetricsDefault]; 

In viewDidLoad or viewWillAppear in NavigationVC, but it not helped too. 

而我有第二个问题。 我在viewcontroller中创建按钮,当它触摸我推下一个视图。我以编程方式向第一视图和第二视图添加标题。当我触摸按钮时,我会在第二视图的标题中看到(并且上面的标题比它必须是,我认为背景显示没有statusBar),然后第二个视图的标题消失,我看到空的navigationBar。当我点击backButton并转到第一个视图时,我在第一个视图的navigationBar标题上看到第二个视图。什么问题?

+0

我真的不明白你在问什么,但是回复:状态栏颜色,你应该可以从Interface Builder的'Simulated Metrics'部分进行设置(点击VC,它会是顶部面板在右边) – sapi 2013-03-13 08:07:46

+0

我添加了我的问题的图片,对不起,我忘了添加它在开始 – Neznajka 2013-03-13 08:09:23

回答

1

这是iOS 6的功能,默认状态栏为导航栏的颜色。您可以通过更改目标摘要页面上的状态栏样式来更改此行为。

1

状态栏后面没有图像,在iOS 6中,状态将占据导航栏的颜色。

如果您将info.plist中的状态栏样式更改为Opaque black style,它将保持黑色。