在实际项目当中,我们经常会遇到需要在一个父类为UIView的子视图上进行POP或是PUSH操作,但该子视图是不能用POP或PUSH的,这时候我们就可以根据该子视图获取到父视图的控制器,从而进行POP或PUSH,具体方法如下:
/**
* 获取父视图的控制器
*
* @return 父视图的控制器
*/
- (UIViewController *)XC_GetViewControllerWithView:(UIView *)view
{
for (UIView* next = [view superview]; next; next = next.superview) {
UIResponder *nextResponder = [next nextResponder];
if ([nextResponder isKindOfClass:[UIViewController class]]) {
return (UIViewController *)nextResponder;
}
}
return nil;
}
本文介绍了一种在iOS开发中获取指定子视图所属父视图控制器的方法,通过遍历视图层级找到对应的UIViewController,适用于需要对子视图进行导航跳转等场景。
1621

被折叠的 条评论
为什么被折叠?



