在开始之前,我只想提供一些背景信息。我之前在我的一个 iOS 应用程序中实现了一个自定义后退按钮。那时,我可以在几分钟内完成它,所以这是一次非常好的体验。
然而,这一次,我遇到了奇怪的问题。首先,自定义后退按钮根本没有显示。然后,我让它与原来的后退按钮重叠。但是,我永远不能移除原来的后退按钮。
在我在这里找到答案之前,我很茫然:http: //smartercoder.com/2010/10/18/what-to-do-it-self-navigationitem-hidesbackbutton-true-doesnt-work。解决方案是设置一个虚拟左按钮并将其删除,然后告诉导航项隐藏后退按钮并添加自定义按钮。
然而,虽然自定义按钮现在取代了原来的按钮,但结果不如我的第一个应用程序中的那么好。在推动过渡期间,我仍然短暂地看到原始的后退按钮。显然,如果它根本不出现会更好。
这是我在viewDidLoad中运行的代码:
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:[[UIView alloc] init]];
self.navigationItem.leftBarButtonItem = nil;
self.navigationItem.hidesBackButton = YES;
self.navigationItem.leftBarButtonItem = [UIBarButtonItem barButtonItemWithImage:[UIImage imageNamed:@"toolbar-button-back"] andAction:@selector(triggerBackNavigation:) withTarget:self];
如果有人知道如何在推动转换(向前和向后)期间完全移除原来的后退按钮,我很想听听。