Merge commit '7621e2f8dec938cf48181c8b10afc9b01f444e68' into beta

This commit is contained in:
Ilya Laktyushin
2025-12-06 02:17:48 +04:00
commit 8344b97e03
28070 changed files with 7995182 additions and 0 deletions
@@ -0,0 +1,65 @@
#import <LegacyComponents/TGViewController+TGRecursiveEnumeration.h>
@implementation UIViewController (TGRecursiveEnumeration)
- (void)enumerateChildViewControllersRecursivelyWithBlock:(void (^)(UIViewController *))enumerationBlock
{
if (enumerationBlock == nil)
return;
enumerationBlock(self);
for (UIViewController *childViewController in self.childViewControllers)
[childViewController enumerateChildViewControllersRecursivelyWithBlock:enumerationBlock];
}
@end
@implementation TGViewController (TGRecursiveEnumeration)
- (void)enumerateChildViewControllersRecursivelyWithBlock:(void (^)(UIViewController *))enumerationBlock
{
if (enumerationBlock == nil)
return;
if (self.associatedWindowStack.count > 0)
{
for (UIWindow *window in self.associatedWindowStack)
[window.rootViewController enumerateChildViewControllersRecursivelyWithBlock:enumerationBlock];
}
enumerationBlock(self);
for (UIViewController *childViewController in self.childViewControllers)
[childViewController enumerateChildViewControllersRecursivelyWithBlock:enumerationBlock];
}
@end
@implementation UINavigationController (TGRecursiveEnumeration)
- (void)enumerateChildViewControllersRecursivelyWithBlock:(void (^)(UIViewController *))enumerationBlock
{
if (enumerationBlock == nil)
return;
enumerationBlock(self);
[self.topViewController enumerateChildViewControllersRecursivelyWithBlock:enumerationBlock];
}
@end
@implementation UITabBarController (TGRecursiveEnumeration)
- (void)enumerateChildViewControllersRecursivelyWithBlock:(void (^)(UIViewController *))enumerationBlock
{
if (enumerationBlock == nil)
return;
enumerationBlock(self);
[self.selectedViewController enumerateChildViewControllersRecursivelyWithBlock:enumerationBlock];
}
@end