美文网首页
控制器跳转之间的传值和navigationItem的修改

控制器跳转之间的传值和navigationItem的修改

作者: bestloveting | 来源:发表于2017-03-14 00:36 被阅读0次

如果controllerA 需要 push 到 controllerB,  他们之间的传值有两种情况:

1. 如果使用了sb拖动segue线, 那么在controllerA 中手动实现

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender方法, 参数segue的destination便是controllerB, 在该方法中将需要传递给controllerB的信息传递给事先在controllerB的头文件中定义的属性即可. 在controllerB想要pop的时候, 如果想要传值给controllerA,那么此时有两种方法,  

可以在控制器a中定义一个block, 在控制器b中的viewWillDisappear方法中插入以上代码即可实现传值,  另一种方法是手动修改navigationItem的返回按钮, 自定义返回按钮和按钮的action, 在自定义的action中插入以上代码也可以实现传值. 但是给NavigationBar自定义按钮的时候有一个坑,  如果在controllerB中写  

改代码是一点效果都没有的,  猜测因为可能是navigationcontroller的navigationItem是统一的, 某个单独的控制器想要修改navigationbar上面的item的话只能修改自己单独的类型, 所以正确的姿势应该是这样

这样就成功覆盖了系统本来的back按钮, 并且会调用我们自定义的方法.

2  如果控制器之间的跳转是靠我们纯代码创建的, 那么无论在控制器里面写多少次prepareForSegue方法都是没办法调用的, 这个时候两个控制器之间的传值就需要我们手动实现一些 代理  或者  block  或者  通知来实现传值机制.  注意 , 一般来说  由controllerA跳转到controllerB中几乎都不需要我们手动实现什么代理之类的东西,  一般在push到controllerB之前把A想要告诉B的值传递给他就好了 , 但是如果由B返回到A,  如果B想要告诉A一些东西, 或者想要A根据B界面操作得到的结果来修改A 界面上的一些数据的话  就需要使用此方法.  (其实  如果硬在controllerA的头文件中定义属性来接受b的数据的话   应该也是没问题的 )

相关文章

  • 控制器跳转之间的传值和navigationItem的修改

    如果controllerA 需要 push 到 controllerB, 他们之间的传值有两种情况: 1. 如果使...

  • iOS通知中心传值

    通知 是在跳转控制器之间常用的传值代理方式,除了代理模式,通知更方便、便捷,一个简单的Demo实现通知的跳转传值....

  • iOS利用通知(NSNotification)进行传值

    通知 是在跳转控制器之间常用的传值代理方式,除了代理模式,通知更方便、便捷,一个简单的Demo实现通知的跳转传值....

  • iOS通知传值的使用

    通知 是在跳转控制器之间常用的传值代理方式,除了代理模式,通知更方便、便捷,一个简单的Demo实现通知的跳转传值....

  • iOS中通知的简单使用

    通知 是在跳转控制器之间常用的传值代理方式,除了代理模式,通知更方便、便捷,一个简单的Demo实现通知的跳转传值....

  • UI基础篇-UIViewController

    1.创建UIViewController 2.视图控制器的生命周期 3.模态视图跳转 4.视图控制器之间的正向传值...

  • Block的简单使用之逆向传值

    想逆向传值的时候使用Block时非常方便的,当从A控制器跳转到B控制器,想从B控制器逆向传值时,只需要在B控制器的...

  • 私人通讯录 项目(控制器之间的跳转,控制器之间的传输数据,数据存

    1.演示私人通讯录• 学习目的:控制器跳转,控制器之间传值,数据存储 2.项目演示:(4个界面,交给4个控制器管理...

  • ios通讯录知识点

    1.演示私人通讯录 - 学习目的:控制器跳转,控制器之间传值,数据存储 2.项目演示:(4个界面,交给4个控制器管...

  • 参数绑定与传值

    参数绑定与传值1)功能方法之间的跳转2)功能方法之间的传值3)方法和页面之间传值(重点)4)从页面到功能方法(V-...

网友评论

      本文标题:控制器跳转之间的传值和navigationItem的修改

      本文链接:https://www.haomeiwen.com/subject/ycxwittx.html