iOS----在子檢視中獲取父檢視的控制器
阿新 • • 發佈:2019-02-12
在實際專案當中,我們經常會遇到需要在一個父類為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; }