29 lines
893 B
Objective-C
29 lines
893 B
Objective-C
//
|
|
// UIView+FindUIViewController.m
|
|
// RCTVideo
|
|
//
|
|
// Created by Stanisław Chmiela on 31.03.2016.
|
|
// Copyright © 2016 Facebook. All rights reserved.
|
|
//
|
|
// Source: http://stackoverflow.com/a/3732812/1123156
|
|
|
|
#import "UIView+FindUIViewController.h"
|
|
|
|
@implementation UIView (FindUIViewController)
|
|
- (UIViewController *) firstAvailableUIViewController {
|
|
// convenience function for casting and to "mask" the recursive function
|
|
return (UIViewController *)[self traverseResponderChainForUIViewController];
|
|
}
|
|
|
|
- (id) traverseResponderChainForUIViewController {
|
|
id nextResponder = [self nextResponder];
|
|
if ([nextResponder isKindOfClass:[UIViewController class]]) {
|
|
return nextResponder;
|
|
} else if ([nextResponder isKindOfClass:[UIView class]]) {
|
|
return [nextResponder traverseResponderChainForUIViewController];
|
|
} else {
|
|
return nil;
|
|
}
|
|
}
|
|
@end
|