View推出Controller

2016-08-13  本文已影响9人  Aicher

工作中很多时候会遇到在自定义的view中, 需要推出controller, 就留意总结了一些方法

. 比如

1.代理 初学者常用的方式, 缺点是太麻烦, 代码多
2.通知 类似代理
3.获取view所在的controller
4.其他

在需要跳转的view中自定义方法

- (UIViewController *)viewController { for (UIView* next = [self superview]; next; next = next.superview) { UIResponder *nextResponder = [next nextResponder]; if ([nextResponder isKindOfClass:[UIViewController class]]) { return (UIViewController *)nextResponder; } } return nil; }

调用这个方法可以获得view所在的controller

//使用方法:
[[self viewController].navigationController pushViewController:[yourViewController new]animated:YES];

这里[self viewController]相当于controller中的self,后面的用push 或者present就看具体情况了,又或者用segue推出

[[self viewController] performSegueWithIdentifier:@"xxxxxxSegue" sender:nil];
用segue,别忘记view所在的controller得向其他的controller拉线

上一篇下一篇

猜你喜欢

热点阅读