2012-05-23 64 views
1

差距我通過代碼添加一個UINavigationController,但它留下頂部的縫隙..約20像素.. enter image description hereUINavigationController的HAVA頂部

它消失,如果我切換到其他選項卡,並返回到該選項卡,但可以看出之前的NavBar移動到合適的位置約0.2秒。

我已經搜索StackOverflow的,但我不能找到解決辦法......

這是我的代碼部分:

appDeleg ate.m

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 
    ..... 
    UIViewController *vc1 = [[Tab1 alloc] initWithNibName:@"Tab1" bundle:nil]; 
    UIViewController *vc2 = [[FreshEpisodeController alloc] initWithNibName:@"FreshEpisodeController" bundle:nil]; 
    UIViewController *vc3 = [[Tab3 alloc] initWithNibName:@"Tab3" bundle:nil]; 
    UIViewController *vc5 = [[DownloadListController alloc] initWithNibName:@"DownloadListController" bundle:nil]; 
    self.tabBarController = [[UITabHost alloc] init]; 
    self.tabBarController.viewControllers = [NSArray arrayWithObjects:vc2, vc1, vc3, vc5, nil]; 
    self.window.rootViewController = self.tabBarController; 
    [self.window makeKeyAndVisible]; 
    ..... 
} 

Tab3.m

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { 
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
    if (self) { 
     [[self view] addSubview:mNavController.view]; 
     self.title = NSLocalizedString(@"Collection List", @"Collection List"); 
     self.tabBarItem.image = [UIImage imageNamed:@"tab3"]; 
    } 
    return self; 
} 

在Tab3.xib,我有一個UIViewUINavigationController(mNavController)

的間隙是不存在,如果我設置在TAB3顯示第一次(我把它放在第一個標籤) 但是,如果我把它放在第二個選項卡,它顯示如果我切換到查看Tab3。

回答

0

集 「wantsFullScreenLayout」 屬性設置爲 「是」 爲您的視圖控制器

+0

事實上,它解決了第一個視圖中的問題......但是如果我切換到其他選項卡並返回... navBar被移動到0,0,這是在狀態欄下得到的... –

+0

您的標籤欄顯示每個選項卡上的新視圖。您需要將此屬性設置爲包含此選項卡欄的所有需要​​的視圖或查看。不要關心應用程序的窗口,但你可以嘗試設置它。 – SentineL

-1

添加UINavigationController (mNavController)viewDidLoad方法,代碼應該是這樣的:

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    [[self view] addSubview:mNavController.view]; 
    self.title = NSLocalizedString(@"Collection List", @"Collection List"); 
    self.tabBarItem.image = [UIImage imageNamed:@"tab3"]; 
} 

享受現在.....

+0

沒有真正幫助..事實上,TabBar上的圖標和標題未加載...它在點擊標籤後顯示 –

0

嘗試做這樣的

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { 
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
    if (self) { 
     [[self view] addSubview:mNavController.view]; 
     mNavController.view.frame = self.view.bounds; //here you assign the subView frame to fit superView area 
     self.title = NSLocalizedString(@"Collection List", @"Collection List"); 
     self.tabBarItem.image = [UIImage imageNamed:@"tab3"]; 
    } 
    return self; 
} 
1

設置下頂部酒吧屬性爲未選中屬性部分ViewController可能會有所幫助。

相關問題