UINavigationController+CompletionBlock.m 969 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. //
  2. // UINavigationController+CompletionBlock.m
  3. // OneCable
  4. //
  5. // Created by ncomz on 2017. 6. 28..
  6. // Copyright © 2017년 ntels. All rights reserved.
  7. //
  8. #import "UINavigationController+CompletionBlock.h"
  9. @implementation UINavigationController (CompletionBlock)
  10. - (UIViewController *)popViewControllerAnimated:(BOOL)animated completion:(void (^)()) completion {
  11. [CATransaction begin];
  12. [CATransaction setCompletionBlock:^{
  13. completion();
  14. }];
  15. UIViewController *vc = [self popViewControllerAnimated:animated];
  16. [CATransaction commit];
  17. return vc;
  18. }
  19. - (NSArray< UIViewController *> *)popToRootViewControllerAnimated:(BOOL)animated completion:(void (^)()) completion {
  20. [CATransaction begin];
  21. [CATransaction setCompletionBlock:^{
  22. completion();
  23. }];
  24. NSArray< UIViewController *> *vcs = [self popToRootViewControllerAnimated:animated];
  25. [CATransaction commit];
  26. return vcs;
  27. }
  28. @end