我對目標c比較陌生,但不能編程,並且卡在我的iphone應用程序中。pushViewController不能用tabbar和導航條顯示UIView/Nib
我創建了一個基於導航的應用程序,包含導航欄和標籤欄控制器。我將標籤欄設置爲根控制器。我能夠在沒有任何問題的情況下切換到各個UIViews和UITableViews。
我的問題是,在我從TabBarController調用的其中一個UITableViews中,didSelectRowAtIndexPath函數假設顯示一個新的UIView。下面的代碼不會給出任何錯誤並且運行良好,但不會顯示新的Nib。
if(newViewController == nil) {
NSLog(@"yes nil");
BookViewController *aNewViewController = [[BookViewController alloc] initWithNibName:@"BookOptionView" bundle:nil];
self.newViewController = aNewViewController;
[aNewViewController release];
}
BookAppDelegate *delegate = (BookAppDelegate *)[[UIApplication sharedApplication] delegate];
[delegate.appNavBar pushViewController:newViewController animated:YES];
現在,當我做下面的,它工作正常,但它擺脫了導航和標籤這我假設,因爲它是一個模態調用,而不是推視圖控制器。
BookViewController *screen = [[BookViewController alloc] initWithNibName:@"BookOptionView" bundle:[NSBundle mainBundle]]; screen.modalTransitionStyle = UIModalTransitionStyleCoverVertical; [self presentModalViewController:screen animated:YES]; [screen release];
任何想法,爲什麼我不能得到的視圖控制器正確推?在我的應用程序委託文件中,我聲明瞭一個名爲appNavBar的AppNavBarController對象(從UINavigationController繼承)。
任何幫助,將不勝感激!
感謝您的回覆。你的代碼看起來像它會完成我提供的代碼,它會顯示一個新的UIView,而沒有全局導航欄和全局標籤欄。 – james 2010-05-03 13:31:58