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拉线