2011-09-02 67 views
0

我的UIView控制器类在那里我已经在按钮单击事件中输出的视图导航,但按键编程方式创建一个UINavigationController的UINavigationController面临的一些问题

- (void)viewDidLoad 
    { 
[super viewDidLoad]; 
self.title = @"Hmm"; 


navigationController = [[UINavigationController alloc] init]; 
//without this instruction, the tableView appears blocked 
navigationController.view.frame = CGRectMake(0, 0, 768, 1004); // <-- nav controller should fill the screen 
navigationController.navigationBar.barStyle = UIBarStyleDefault; 
navigationController.title = @"Hello"; 
[navigationController.navigationBar setHidden:NO]; 
[self.view addSubview:navigationController.view]; 

CGRect frame = CGRectMake(100, 70, 200, 50); 
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
button.frame = frame; 
[button setTitle:@"Bejoy" forState:UIControlStateNormal]; 
[button addTarget:self action:@selector(myButtonClick:) forControlEvents:(UIControlEvents)UIControlEventTouchDown]; 
[self.view addSubview:button]; 

    } 

现在

- (void)myButtonClick:(id)sender { 
SAPRetailExCustomerSalesOrderDetailViewTVC *customerSalesOrderDetailViewTVC = [[SAPRetailExCustomerSalesOrderDetailViewTVC alloc] initWithNibName:@"SAPRetailExCustomerSalesOrderDetailViewTVC" bundle:nil]; 
[navigationController pushViewController:customerSalesOrderDetailViewTVC animated:YES]; 
[customerSalesOrderDetailViewTVC release]; 
      } 

这里仍然在我看来! 另外,我必须点击两次才能获得我的NavigationController中的后退按钮。 是因为我没有我的导航栏的标题。我将如何在这里设置标题? 有人可以帮助我吗?

+0

“'[[UINavigationController的页头]初始化]'” 你为什么要这么做?只需使用'UINavigationController'即可:'initWithRootViewController:',或者在Interface Builder中创建一个,并将它的'Nib Name'设置为您的控制器类。永远不要用'init'创建一个'init类不在类文档中,所以你不应该认为你可以使用它。 – darvids0n

回答

1

UIViewController中应该是导航控制器的孩子,而不是倒过来。你的UIViewController不负责自己的导航控制器。

使用的UINavigationController的-initWithRootViewController:在您创建的UIViewController对象,并添加导航控制器的视图窗口。

你在做什么是错的:你的导航控制器的视图添加到视图控制器的一个!

+0

哪个rootview控制器应该使用?我想从SAPRetailExCustomerDetailViewTVC - > SAPRetailExCustomerSalesOrderDetailViewTVC导航,其中都是UIViewController。 – bejoy

+0

Nopes Sry我明白了......我为我的UINAvigationController添加了SAPRetailExCustomerDetailViewTVC作为我的根wiew控制器。非常感谢 – bejoy

+0

Nopes Sry基因我知道了......我加SAPRetailExCustomerDetailViewTVC作为我的UINavigationController我的根wiew控制器。非常感谢 SAPRetailExCustomerDetailViewTVC * customerDetailViewTVC = [[SAPRetailExCustomerDetailViewTVC的alloc] initWithNibName:@ “SAPRetailExCustomerDetailViewTVC” 束:无]; //更新分割视图控制器的视图控制器数组。 newdetailViewController = customerDetailViewTVC; UINavigationController * cusotmerDetailNavigationController = [[UINavigationController alloc] initWithRootViewController:newdetailViewController]; – bejoy