UITabbarViewController+Navigation框架下的子视图的跳转示例之一

在UTabBarViewController+Navigation框架下,经常会遇到从一个子视图跳转到另一个子视图(当然这里指的是UITabBar中的Item1的子视图跳转到Item3的子视图)。典型的例子就是消息推送了(当前正在浏览某一个界面,收到消息后自动跳转到消息展示界面)。

首先说框架是如下图:


当然想从ViewController9下的moreController视图跳转到ViewContorller7视图中。


那流程应该如下图:


上图描述很清楚,无需多说。代码就如下:

//相当于从moreController视图中一个一个地退出视图(Pop方式),直接退到UITabBarViewController的Item3中

UINavigationController *oldNavigationController = [self.viewControllers objectAtIndex:self.selectedIndex];

for (int i = [oldNavigationController.viewControllers count] - 1; i >= 0; i--) {

     UIViewController *viewController = [oldRootNavigationController.viewControllers objectAtIndex:i];

     NSArray *array = [oldRootNavigationController popToViewController:viewController animated:NO];

}

//当不是UITabBarViewController不是第1项时,就强制切换到Item1

if (0 != self.selectedIndex){

    self.selectedIndex = 0;

}


//在Item1中查找并获取到ViewController7视图(由于ViewController7是在第1个,即为0)   

UINavigationController *newNavigationController = [self.viewControllers objectAtIndex:0];

ViewController7 *viewcontroller7 = [newNavigationController.viewControllers objectAtIndex:0];

获取到viewContorller7对象,就可以做相关事情了。


注意上述代码需在UITabBarViewConroller派生类中实现;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值