这个功能很常用吧。为什么网上资料那么少呢~
最后我的解决方案:
实现UINavigationController的代理判断是否是栈底,如果不是就修改leftBarButtonItem的样式。
- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated
{
UIViewController *root = navigationController.viewControllers[0];
if (root != viewController) {
UIBarButtonItem *itemleft = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"backBtn"] style:UIBarButtonItemStylePlain target:self action:@selector(popAction:)];
viewController.navigationItem.leftBarButtonItem = itemleft;
}
}
- (void)popAction:(UIBarButtonItem *)barButtonItem
{
[self.navigationController popViewControllerAnimated:YES];
}
我尝试的方法:
1.UIBarButtonItem *barItem = [UIBarButtonItem appearance];
[barItem s