2

我使用情节提要创建了我的应用程序的界面。布局如下: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;

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

4

0 回答 0