Files
GLEGram-iOS/submodules/LegacyComponents/Sources/TGViewController+TGRecursiveEnumeration.m
T
Leeksov 4647310322 GLEGram 12.5 — Initial public release
Based on Swiftgram 12.5 (Telegram iOS 12.5).
All GLEGram features ported and organized in GLEGram/ folder.

Features: Ghost Mode, Saved Deleted Messages, Content Protection Bypass,
Font Replacement, Fake Profile, Chat Export, Plugin System, and more.

See CHANGELOG_12.5.md for full details.
2026-04-06 09:48:12 +03:00

66 lines
1.8 KiB
Objective-C

#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