作者Piceman (派斯面)
看板MacDev
标题Re: [问题] Nav pop 到 tabbar 时,标题会错误?
时间Tue Apr 23 14:25:26 2013
还是受不了测试了一下 :p
这是 nav controller 的 stack
<entryViewController: 0x1fd5c3b0>,
<preorderTabbarVC: 0x2106f6c0>,
<prr_goodsDetailVC: 0x21678510>,
<preorderFormVC: 0x2193b120>,
<submitPreOrderVC: 0x219927a0>
大致上的流程是
entryView - preorderTabbarVC - searchProductVC - goodsDetailVC
首页 tabbar 搜寻产品 产品页面
- preorderFormVC - submitPreOrderVC
预约页面 预约完成
可以发现上面的 stack 中少了 searchProductVC 这页面
因为 searchProduct 被包在 tabbar 中(这部份行为我也在研究中
不会在 nav stack 中出现..
所以无法使用 前例中说的 VC_A 作为返回指标
虽然没用到,不过我发现以前对 tabbar 的一些迷惑有点清楚了
谢谢你的想法
※ 引述《tentenlee (天天)》之铭言:
: 你回去错的VIEW了
: 就照你画的架构是对的 你要popToViewController的是VC_A
: 而不是UITabberController 的class的view
: 所以你要的是
: if ([aVC isKindOfClass:[VC_A class]])
: 而且你要按下Back退回VC_A
: 直接改写Back的函数就好了
: http://stackoverflow.com/questions/10906980/customizing-the-backbarbuttonitem
: 别写在viewWillDisapper里面吧
: 以上次我的推测 你试看看 我不是很确定
: ※ 引述《Piceman (派斯面)》之铭言:
: : 卡在一个奇怪的 nav pop 相关问题上面两天了
: : 不知道这边有没有人碰过类似问题
: : 目前的 App 架构大致如下
: : init / VC_A -> VC_A1 -> VC_A2
: : Nav -> Tabbar - VC_B
: : Con. Con. \ VC_C
: : \ VC_D
: : 其中,VC_A2 是订单完成页面
: : 使用者希望按下 back 按钮时能够退回VC_A 页面
: : 所以用了以下程式码
: : -(void)viewWillDisappear:(BOOL)animated{
: : NSMutableArray *t_vcs = [NSMutableArray
: : arrayWithArray:[self.navigationController viewControllers]];
: : for (UIViewController *aVC in t_vcs) {
: : if ([aVC isKindOfClass:[UITabBarController class]])
: : {
: : // NSLog(@"退到这 %@", aVC);
: : [self.navigationController popToViewController:aVC animated:NO];
: : return;
: : }
: : }
: : }
: : }
: : 可是这样作有个问题
: : 退回去时,虽然会显示正确的页面
: : 但是不包含标题列(Navbar)
: : 标题列此时显示的是 VC_A1 的标题
: : 必须要再按一次 back 按钮才会显示 VC_A 的内容
: : (Navbar 会有 pop 动作,虽然tabbar画面不会变动..)
: : 请问有人碰过这问题吗?
: : 或是知道如何在tabbar 中操作 nav 的 pop 动作吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 60.251.20.53
1F:推 tentenlee:那你用原本的那个找到tabbarController後用selectedView 04/23 20:51
2F:→ tentenlee:selectedViewController 去选点第一个tabitem看看可不可 04/23 20:51
3F:推 tentenlee:我也只是猜测.. 如果方便把专案贴出来可能会比较快.. 04/23 20:54
4F:→ Piceman:这个专案不能贴啦 XD 这两天要赶工,晚点再弄个demo给大家 04/24 00:53
5F:→ Piceman:我觉得应该无效,上面的navbar 问题应该是在view转移中写 04/24 00:54
6F:→ Piceman:方法,破坏了某些继承的後遗症。不过我也还不确定就是了 04/24 00:55