mysql实现pop功能,popViewController 之 同时pop掉2层viewController

项目中有注册和修改密码功能,一旦注册成功就需要跳转到成功的界面,然后成功界面会有相应返回按钮事件,这时候我就需要直接返回我的上上层视图了 开始我用的BLOCK,可是这种已经不能满足我的要求了, (下面功能虽然没有实现,但是可以理解block的简单使用了

项目中有注册和修改密码功能,一旦注册成功就需要跳转到成功的界面,然后成功界面会有相应返回按钮事件,这时候我就需要直接返回我的上上层视图了

开始我用的BLOCK,可是这种已经不能满足我的要求了,

(下面功能虽然没有实现,但是可以理解block的简单使用了)

要求:我有3个视图

视图1为登录界面

视图2为注册界面

视图3为提示成功界面

视图2已经push到了视图1上,接下来就要在视图2里写block了,代码如下

ViewController2 . h

@property (nonatomic,copy) void (^callback)(void);//我的block对象

ViewController2 . m

UIStoryboard *sb=[UIStoryboard storyboardWithName:@"Main_iPhone" bundle:nil];

ViewController3 *vc3=(ViewController3 *)[sb instantiateViewControllerWithIdentifier:@"viewcontroller3"];

/*以上2行是我加载故事版中的视图3*/

vc3.phoneNumber=self.phoneNum.text;//在故事版中如果2个视图之间相互传值,可以采用以上3行代码的形式来传递

void (^myBlock)(void)=^{

[self.navigationController popViewControllerAnimated:YES];

};

[vc3 setCallback:myBlock];//将我的block赋给视图3

[self.navigationController pushViewController:vc3 animated:YES];

以下代码为视图3里面的

ViewController3 . h

@property (nonatomic,copy) void (^callback)(void);

ViewController3 . m

if (self.callback) {

self.callback();

}

[self.navigationController popViewControllerAnimated:YES];

现在来看看我是如何实现的吧(简称面包屑用法)

【这种用法可以让你指定到你想返回的视图中去】根据上述功能,我将此段代码放在了视图3中

NSArray *pushVCAry=[self.navigationController viewControllers];

//下面的pushVCAry.count-3 是让我回到视图1中去

UIViewController *popVC=[pushVCAry objectAtIndex:pushVCAry.count-3];

[self.navigationController popToViewController:popVC animated:YES];

希望对大家有所帮助,讲解的不是太好,大家可以在下方留言给我

test.jsp?url=http%3A%2F%2Fimg.blog.csdn.net%2F20140710145556984%3Fwatermark%2F2%2Ftext%2FaHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDM2NzUzOQ%3D%3D%2Ffont%2F5a6L5L2T%2Ffontsize%2F400%2Ffill%2FI0JBQkFCMA%3D%3D%2Fdissolve%2F70%2Fgravity%2FCenter&refer=http%3A%2F%2Fblog.csdn.net%2Fu010367539%2Farticle%2Fdetails%2F37656075

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值