+(UIViewController )viewController:(UIView )view{
// Finds the view's view controller.
// Traverse responder chain. Return first found view controller, which will be the view's view controller.
UIResponder *responder = view;
while ((responder = [responder nextResponder]))
if ([responder isKindOfClass: [UIViewController class]])
return (UIViewController *)responder;
// If the view controller isn't found, return nil.
return nil;
}
可以写成一个类:
import
import “GetCurrentNC.h”
@implementation GetCurrentNC
+(UIViewController )viewController:(UIView )view{
/// Finds the view's view controller.
// Traverse responder chain. Return first found view controller, which will be the view's view controller.
UIResponder *responder = view;
while ((responder = [responder nextResponder]))
if ([responder isKindOfClass: [UIViewController class]])
return (UIViewController *)responder;
// If the view controller isn't found, return nil.
return nil;
}
@end
在cell中使用:
WMyCollectVC * vc = [[WMyCollectVC alloc]init];
[[GetCurrentNC viewController:self].navigationController pushViewController:vc animated:YES];