objective-c导航栏后退按钮(在故事板中创建)不隐藏在详细视图控制器中

时间:2012-05-20 03:13:17

标签: objective-c hide back-button master-detail

我使用storyboard创建了我的应用程序的界面。布局如下: NavigationController - > MasterViewController - > TabViewController - > DetailViewControllers。

我希望前两个DetailViewControllers有一个后退按钮,可以根据用户在应用程序中的进度在不同时间隐藏/显示。

我搜索,发现并尝试了许多“解决方案”。总而言之,应用程序正确编译,但其中没有一个会隐藏后退按钮(这会将用户带回MasterViewController中的tableview)。

“解决方案”我试过了:

在MasterViewController的viewDidLoad中:

[self.navigationItem setHidesBackButton:YES animated:YES];
UIBarButtonItem* backButton = [[UIBarButtonItem alloc] initWithTitle:@"Start" style:UIBarButtonItemStyleBordered target:self action:@selector(initializeStuff)];    
self.navigationItem.leftBarButtonItem = backButton;

..... .....或

self.navigationItem.hidesBackButton = YES;

..... .....或

UINavigationBar *navBar = [[UINavigationBar alloc]init];
UINavigationItem *navigationItem = [[UINavigationItem alloc]init];
UIBarButtonItem *addButton = [[UIBarButtonItem alloc] init]; 
self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Test" style:UIBarButtonItemStyleBordered target:self action:@selector(backButtonTapped)];
self.navigationItem.leftBarButtonItem = addButton;
self.navigationItem.leftBarButtonItem.enabled=NO;
[navBar pushNavigationItem:navigationItem animated:NO];

在MasterViewController的viewWillAppear和第一个DetailViewController的initWithNibName中:

self.navigationItem.hidesBackButton = YES;

在MasterViewController的viewDidAppear中:

[self.navigationItem setHidesBackButton:YES animated:YES];

..... .....或

_detailViewController.navigationItem.leftBarButtonItem.enabled = NO;

在第一个DetailViewController的viewDidLoad和viewWillAppear以及viewDidAppear中:

[self.navigationItem setHidesBackButton:YES animated:YES];
UIBarButtonItem* backButton = [[UIBarButtonItem alloc] initWithTitle:@"Start" style:UIBarButtonItemStyleBordered target:self action:@selector(initializeStuff)];
self.navigationItem.backBarButtonItem = backButton;

我很欣赏这个董事会的智慧,并期待您能提供任何帮助。 :)

0 个答案:

没有答案
相关问题