RTRootNavigationController icon indicating copy to clipboard operation
RTRootNavigationController copied to clipboard

iOS14上面popToRoot有问题

Open huangrun opened this issue 4 years ago • 5 comments

调用popToRootViewControllerAnimated:YES返回到root控制器后,root控制器的导航栏会出现返回按钮(本来是没有的),demo也可复现,希望作者修复!

huangrun avatar Sep 24 '20 10:09 huangrun

同求

yisRookie avatar Sep 27 '20 01:09 yisRookie

目前我这边发现的解决方案有两个,但不是最优解决方案: 1.关闭动画:popToRootViewControllerAnimated:NO;此方法比较影响用户体验。 2.在导航的root控制器中:

  • (void)viewDidLayoutSubviews { self.navigationItem.leftBarButtonItem = nil; },注意需要实现返回到该类时该方法要立即被调用。 还是希望有大神能从这个库里面解决这个问题吧!

huangrun avatar Sep 27 '20 01:09 huangrun

RTRootNavigationController.m 628行 改为:
viewController.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@""

boai avatar Dec 15 '20 08:12 boai

iOS 14上,从A push到B,再从B push到C,此时调用[self.navigationController popToRootViewControllerAnimated:YES]就会有这个问题,A左上角会显示“Back”,希望大佬早些修复,谢谢!

执行了下面这个方法: viewController.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Back", nil) style:UIBarButtonItemStylePlain target:self action:@selector(onBack:)];

mlcldh avatar Dec 15 '20 09:12 mlcldh

可以将 willShowViewController 代理方法里的 _installsLeftBarButtonItemIfNeededForViewController 延迟到 didShowViewController 代理方法里执行

image

sunsang avatar Dec 18 '20 07:12 sunsang