2013-03-13 69 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,它將保持黑色。