1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/3Liang-AXWebViewController

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 4.1 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 28.11.2024 16:48 6c66f29

Данный текст написан на языке Swift.

_webView.scrollView.subviews) {
    if ([_view isKindOfClass:NSClassFromString(@"WKContentView")]) {
        id _previewItemController = object_getIvar(_view, class_getInstanceVariable([_view class], "_previewItemController"));
        Class _class = [_previewItemController class];
        SEL _performCustomCommitSelector = NSSelectorFromString(@"previewInteractionController:interactionProgress:forRevealAtLocation:inSourceView:containerView:");
        [_previewItemController aspect_hookSelector:_performCustomCommitSelector withOptions:AspectPositionAfter usingBlock:^() {
            UIViewController *pred = [_previewItemController valueForKeyPath:@"presentedViewController"];
            [pred aspect_hookSelector:NSSelectorFromString(@"_addRemoteView") withOptions:AspectPositionAfter usingBlock:^() {
                UIViewController *_remoteViewController = object_getIvar(pred, class_getInstanceVariable([pred class], "_remoteViewController"));
                
                [_remoteViewController aspect_hookSelector:@selector(viewDidLoad) withOptions:AspectPositionAfter usingBlock:^() {
                    _remoteViewController.view.tintColor = wself.navigationController.navigationBar.tintColor;
                } error:NULL];
            } error:NULL];
            
            NSArray *ddActions = [pred valueForKeyPath:@"ddActions"];
            id openURLAction = [ddActions firstObject];
            
            [openURLAction aspect_hookSelector:NSSelectorFromString(@"perform") withOptions:AspectPositionInstead usingBlock:^ () {
                NSURL *_url = object_getIvar(openURLAction, class_getInstanceVariable([openURLAction class], "_url"));
                [wself loadURL:_url];
            } error:NULL];
            
            id _lookupItem = object_getIvar(_previewItemController, class_getInstanceVariable([_class class], "_lookupItem"));
            [_lookupItem aspect_hookSelector:NSSelectorFromString(@"commit") withOptions:AspectPositionInstead usingBlock:^() {
                NSURL *_url = object_getIvar(_lookupItem, class_getInstanceVariable([_lookupItem class], "_url"));
                [wself loadURL:_url];
            } error:NULL];
            [_lookupItem aspect_hookSelector:NSSelectorFromString(@"commitWithTransitionForPreviewViewController:inViewController:completion:") withOptions:AspectPositionInstead usingBlock:^() {
                NSURL *_url = object_getIvar(_lookupItem, class_getInstanceVariable([_lookupItem class], "_url"));
                [wself loadURL:_url];
            } error:NULL];
            /*
             UIWindow
             -UITransitionView
             --UIVisualEffectView
             ---_UIVisualEffectContentView
             ----UIView
             -----_UIPreviewActionSheetView
             */
            /*
             for (UIView * transitionView in [UIApplication sharedApplication].keyWindow.subviews) {
             if ([transitionView isMemberOfClass:NSClassFromString(@"UITransitionView")]) {
             transitionView.tintColor = wself.navigationController.navigationBar.tintColor;
             for (UIView *__view in transitionView.subviews) {
             if ([__view isMemberOfClass:NSClassFromString(@"UIVisualEffectView")]) {
             for (UIView *___view in __view.subviews) {
             if ([___view isMemberOfClass:NSClassFromString(@"_UIVisualEffectContentView")]) {
             for (UIView *____view in ___view.subviews) {
             if ([____view isMemberOfClass:NSClassFromString(@"UIView")]) {
             __weak typeof(____view) w____view = ____view;
             [____view aspect_hookSelector:@selector(addSubview:) withOptions:AspectPositionAfter usingBlock:^() {
             for (UIView *actionSheet in w____view.subviews) {
             if ([actionSheet isMemberOfClass:NSClassFromString(@"_UIPreviewActionSheetView")]) {
             break;
             }
             }
             } error:NULL];
             }
             }break;
             }
             }break;
             }
             }break;
             }
             }
             */
        } error:NULL];
        break;
        }
    }
}

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/3Liang-AXWebViewController.git
git@api.gitlife.ru:oschina-mirror/3Liang-AXWebViewController.git
oschina-mirror
3Liang-AXWebViewController
3Liang-AXWebViewController
master