当我创建自定义后退按钮时,我使用以下代码:
UIBarButtonItem *leftButton = [[UIBarButtonItem alloc]initWithTitle:@"Yeah" style:UIBarButtonItemStyleBordered target:self action:@selector(backButtonPressed:)];
self.navigationItem.leftBarButtonItem = leftButton;
这工作正常,我得到这个结果:
我会得到相同的结果,但左侧有一个箭头,如下所示(当它是标准后退按钮,而不是自定义按钮时):
我怎样才能简单地添加这个箭头?
最后,这是我用标准左箭头定义后退按钮标题的代码片段在当前视图中, not 在父视图中 :
- (void)viewDidLoad {
[super viewDidLoad];
[self setTitle:@"Current View"];
// Get the previous view controller
UIViewController *previousVC = [self.navigationController.viewControllers objectAtIndex:self.navigationController.viewControllers.count - 2];
// Create a UIBarButtonItem
UIBarButtonItem *barButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"FooBar" style:UIBarButtonItemStyleBordered target:self action:@selector(yourSelector)];
// Associate the barButtonItem to the previous view
[previousVC.navigationItem setBackBarButtonItem:barButtonItem];
}
结果如下:
Note :但是,由于无法在 backBarButtonItem 上添加操作,因此您可以参考这篇很棒的文章 https://stackoverflow.com/a/19132881/2791407如果你想要的话。
更新为 Swift
// Prev - no chevron...
//navigationItem.leftBarButtonItem = UIBarButtonItem(title: "Back !", style: .plain, target: self, action: #selector(backPressed))
// adds the chevron
let vc = navigationController?.viewControllers.first
let button = UIBarButtonItem(title: "Go Back", style: .plain, target: self, action: #selector(backPressed))
vc?.navigationItem.backBarButtonItem = button
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)