Skip to content

Instantly share code, notes, and snippets.

@JaviSoto
Last active August 29, 2015 13:58
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save JaviSoto/9984349 to your computer and use it in GitHub Desktop.
Save JaviSoto/9984349 to your computer and use it in GitHub Desktop.
-[UIViewController viewWillAppear:] from UIView
- (void)tapIntoViewControllerWillAppear {
@weakify(self);
[[[[[[[RACSignal interval:0.1f onScheduler:[RACScheduler mainThreadScheduler]] takeUntil:self.rac_willDeallocSignal] flattenMap:^RACStream *(id value) {
@strongify(self);
return [RACSignal return:self.pb_viewController];
}] ignore:nil] take:1] flattenMap:^RACStream *(UIViewController *viewController) {
return [viewController rac_signalForSelector:@selector(viewWillAppear:)];
}] subscribeNext:^(id x) {
@strongify(self);
// Do something
}];
}
@implementation UIView (PBViewControllerFromView)
- (UIViewController *)pb_viewController {
return [self valueForKey:@"_viewDelegate"] ?: self.superview.pb_viewController;
}
@end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment