原理
Responder Chain 事件的响应者链 大概的传递规则就是从视图顶层的UIView向下到UIViewController再到RootViewController再到Window最后到Application。
/** * @brief 找到当前view所在的viewcontroler */ - (UIViewController *)jk_viewController { UIResponder *responder = self.nextResponder; do { if ([responder isKindOfClass:[UIViewController class]]) { return (UIViewController *)responder; } responder = responder.nextResponder; } while (responder); return nil; }
|