diff --git a/GDDataDrivenView/Classes/UIViewController/GDDViewControllerHelper.m b/GDDataDrivenView/Classes/UIViewController/GDDViewControllerHelper.m index 584086e..c4a2c64 100644 --- a/GDDataDrivenView/Classes/UIViewController/GDDViewControllerHelper.m +++ b/GDDataDrivenView/Classes/UIViewController/GDDViewControllerHelper.m @@ -232,6 +232,13 @@ + (BOOL)isSameInstanceOrKindOfClass:(id)controllerOrClass in:(UIViewController * } + (void)aspect_hookSelector { + // Fix bug: 当使用swipe to pop getsture返回UINavigationController的前一个UIViewController的过程中取消, + // 如果两个viewController的viewOption不一致,则会导致界面显示不是当前viewController的viewOption所期望的。 + [UIViewController aspect_hookSelector:@selector(viewWillAppear:) withOptions:AspectPositionAfter usingBlock:^(id aspectInfo) { + UIViewController *viewController = [aspectInfo instance]; + [GDDViewControllerHelper config:viewController viewOptions:viewController.viewOption]; + } error:nil]; + [UIViewController aspect_hookSelector:@selector(shouldAutorotate) withOptions:AspectPositionInstead usingBlock:^(id info) { NSInvocation *invocation = info.originalInvocation; UIViewController *instance = info.instance;