有时候在项目中,为了保持前后页面的推进方式跳转方式一致,会在通过UIview上的控件跳到另一个Controller上,所以,这时候就需要用到这种方式了,当然,present方法可以实现跳转但是样式可能不同,这时候在我的想法可以使用代理或者回调,当你不熟悉时,就用到了这个方法:
1.参考别人的方法: http://gekie.iteye.com/blog/1133460
2.使用响应者链的方法。。。
1> 假定你的项目中有文件 UIViewContronllerA, UIViewContronllerB,UIView;我们的UIview是UIViewContronllerA中封装的一个view,并且,我们需要通过UIview上的一个事件来跳转到UIViewContronllerB(跳转方法在UIview页面中)
2>首先,我们在UIView.h页面声明一个属性 @property (nonatomic,strong) UIViewController *owner;
然后,在UIView.m页面的需要跳转的事件里面调用跳转方法: [self.owner.navigationController pushViewController:[UIViewContronller2 new] animated:YES];
3>最后,别忘了,在UIViewContronllerA控制器中调用这个UIVIew:
UIView *view = [[UIView alloc] init];
view.owner = self;
OK!这样你就能实现在view上面跳转了。。。。