我使用情节提要创建了我的应用程序的界面。布局如下:NavigationController -> MasterViewController -> TabViewController -> DetailViewControllers。
我希望前两个 DetailViewControllers 有一个后退按钮,可以根据用户在应用程序中的进度在不同时间隐藏/显示。
我已经搜索、找到并尝试了许多“解决方案”。总之,应用程序编译正确,但没有一个会隐藏后退按钮(这会将用户带回 MasterViewController 中的表格视图)。
我尝试过的“解决方案”:
在 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;
我很欣赏这个板上的智慧,并期待您能提供的任何帮助。:)