Xcode6.1 iOS8 导航控制器popToRootViewContriller问题,求大神指点啊

韩桃叶 2014-10-21 07:17:04
Xcode6.1 iOS8 导航控制器popToRootViewController


我自定义了一个tabBarController 系统的tabbar上面的UITabbarButton 删了, 吧自定义的tabbar加在了系统的tabbar上面,开始运行正常, 但是当使用PopToRootViewController 时, tabbar上系统自带的UITabBarButton又出现了。。求解啊。。
/**
* 删除系统自带的tabbarButton
*/
- (void)removeSystemTabBarItem
{
for (UIView *subView in self.tabBar.subviews) {
if ([subView isKindOfClass:[UIControl class]]) {
subView.hidden = YES;
[subView removeFromSuperview];
}
}
}
在tabbarController 删除了

运行正常, 但是当 执行完
[self.navigationController popToRootViewControllerAnimated:YES];
后就出现了这种叠加的这种情况。
...全文
2907 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
ghf00123 2017-01-11
  • 打赏
  • 举报
回复
真垃圾,提交后不能编辑。 思路:返回根视图后popToRootViewController,删除系统的的tabBar. [self.navigationController popToRootViewControllerAnimated:YES]; [tabBarController removeSystemTabBarItem]; - (void)removeSystemTabBarItem { for (UIView *subView in self.tabBar.subviews) { if ([subView isKindOfClass:[UIControl class]]) { [subView removeFromSuperview]; } } }
ghf00123 2017-01-11
  • 打赏
  • 举报
回复
思路:在返回根视图调用方法PopToRootViewController之后,删除自定义的tabBar. [self.navigationController popToRootViewControllerAnimated:YES]; [self removeSystemTabBarItem]; - (void)removeSystemTabBarItem { for (UIView *subView in self.tabBar.subviews) { if ([subView isKindOfClass:[UIControl class]]) { [subView removeFromSuperview]; } } }
qq_33674683 2016-12-01
  • 打赏
  • 举报
回复
怎么解决的 啊 啊啊 啊啊
sinat_35520436 2016-07-05
  • 打赏
  • 举报
回复
NSArray *viewControllers = @[self.navigationController.viewControllers.firstObject,self.navigationController.viewControllers.lastObject]; self.navigationController.viewControllers = viewControllers; [self.navigationController popViewControllerAnimated:YES]; 方法二: // [self.navigationController.viewControllers enumerateObjectsUsingBlock:^(__kindof UIViewController * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { // [self.navigationController popViewControllerAnimated:YES]; // }];
qq_22327921 2015-10-22
  • 打赏
  • 举报
回复
麻烦说下解决方案行么。。我这套是学MJ的
留住的梦 2015-07-01
  • 打赏
  • 举报
回复
请问楼主是怎么解决的,我也遇到了这个问题,求解
sinat_28502859 2015-05-26
  • 打赏
  • 举报
回复
楼主 你这个问题的怎么解决的?求分享经验
jimmy_niu 2015-03-31
  • 打赏
  • 举报
回复
楼主也分享下啊?
hnbyboy 2015-01-26
  • 打赏
  • 举报
回复
楼主怎么解决的啊,求解答。我也遇到此问题了,多谢了
wangyanyan_love 2014-12-31
  • 打赏
  • 举报
回复
如何解决的?为什么没有分享出来呢?
Myf_d 2014-12-22
  • 打赏
  • 举报
回复
你是怎么解决的,能回答下吗
追溯而上 2014-11-18
  • 打赏
  • 举报
回复
我也遇到了,但是还是不明白你这三句,能具体点吗?
chai梦瑶 2014-10-29
  • 打赏
  • 举报
回复
ViewControllerA *A = (ViewControllerA*)[self.navigationController.viewControllers objectAtIndex:self.navigationController.viewControllers.count-2]; [self.navigationController popToViewController:A animated:YES];
ReyZhang 2014-10-24
  • 打赏
  • 举报
回复
引用 5 楼 hantaoye 的回复:
多谢, 问题已经解决啦。
解决就好。把你的解决方法放上来。方便后来者。
韩桃叶 2014-10-23
  • 打赏
  • 举报
回复
多谢, 问题已经解决啦。
ReyZhang 2014-10-22
  • 打赏
  • 举报
回复
引用 3 楼 hantaoye 的回复:
这个方法试过了, 在7.1的模拟器上, 上面的方法没一点问题, 但是在8.1上面还是不行, 还是多谢大哥指点撒
不会吧,这个方法应该是好用的。不行你再试试将你的removeSystemTabBarItem 方法放到viewWillAppear 中来调用。
韩桃叶 2014-10-21
  • 打赏
  • 举报
回复
这个方法试过了, 在7.1的模拟器上, 上面的方法没一点问题, 但是在8.1上面还是不行, 还是多谢大哥指点撒
ReyZhang 2014-10-21
  • 打赏
  • 举报
回复
先试试如下的方式来隐藏tabbar, 替换掉你的removeSystemTabBarItem方法
[self.tabBar setHidden:YES];
韩桃叶 2014-10-21
  • 打赏
  • 举报
回复
求大神解答, 我应该在那个方法里删除系统自带的UITabbarButton勒

29,031

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧