UIResponder+SLKAdditions.m 732 B

1234567891011121314151617181920212223242526272829303132
  1. //
  2. // SlackTextViewController
  3. // https://github.com/slackhq/SlackTextViewController
  4. //
  5. // Copyright 2014-2016 Slack Technologies, Inc.
  6. // Licence: MIT-Licence
  7. //
  8. #import "UIResponder+SLKAdditions.h"
  9. static __weak id ___currentFirstResponder;
  10. @implementation UIResponder (SLKAdditions)
  11. /**
  12. Based on Jakob Egger's answer in http://stackoverflow.com/a/14135456/590010
  13. */
  14. + (instancetype)slk_currentFirstResponder
  15. {
  16. ___currentFirstResponder = nil;
  17. #ifndef APP_EXTENSION
  18. [[UIApplication sharedApplication] sendAction:@selector(slk_findFirstResponder:) to:nil from:nil forEvent:nil];
  19. #endif
  20. return ___currentFirstResponder;
  21. }
  22. - (void)slk_findFirstResponder:(id)sender
  23. {
  24. ___currentFirstResponder = self;
  25. }
  26. @end