在项目开发中是否遇到过view和控制器分开写的情况,但是又想点击该view进行页面的跳转
实现代码
#pragma mark -点击方法
- (void)pushNextViewController{
BaseViewController *view = [[BaseViewController alloc] init];
[[self viewController].navigationController pushViewController:view animated:YES];
}
/**
* 返回当前视图的控制器
*/
- (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中进行类似的操作,可以通过代理的方法,将跳转操作统一在控制器中完成。
网友评论