自定义View 跳转不同界面方法
自定义View 跳转不同界面方法
有时候,我们在自定义UIView 的时候 , 很有可能 会在这个View 进行页面跳转,但是, 你会发现, 那些 push 和 pop 方法 都没什么用 ,那是因为 当一个子view需要接收点击事件,而父view也需要接收点击事件
当然,你可能会说直接调用mysubview.superView即可,这样做也确实是可以做到,但有时子view是不一定知道有这个特定的父view的存在的,如动态添加子view。
所以这里就用到了事件处理与传递。
简单介绍一下
- ios当中常用的事件?
1 | - 触摸事件 |
- 什么是响应者对象?
1 | 继承了UIResponds的对象我们称它为响应者对象 |
- 事件是怎么样产生与传递的?
1 | 当发生一个触摸事件后,系统会将该事件加入到一个由UIApplication管理的事件队列中. |
- 一个控件什么情况下不能够接收事件?
1 | - 不接收用户交互时不能够处理事件 |
注意:UIImageView的userInteractionEnabled默认就是NO,因此UIImageView以及它的子控件默认是不能接收触摸事件的
- 如何寻找最合适的View?
1 | - 先判断自己是否能够接收触摸事件,如果能再继续往下判断, |
回到主题上来,下面要做的也就是,让子view接收这些事件后,同时把这些事件继续向上传,会一直传到UIApplication为止。而在传的过程中,如果子view接收了这些事件,那么事件会自然终止,我们现在可以做的是同时让子view接收事件,而且还让事件不终止,并继续向上传。
步骤应该是:
1 | //定义一个全局变量 |
这样就可以跳转页面了.