美文网首页优化
iOS13后modal页面不全屏问题

iOS13后modal页面不全屏问题

作者: 苏苏慢跑 | 来源:发表于2021-03-04 09:03 被阅读0次

    利用runtime快速解决,只需放入工程即可

    #import "UIViewController+VLDModal.h"
    #import <objc/runtime.h>
    
    @implementation UIViewController (VLDModal)
    
    + (void)load{
        
        SEL originalSel = @selector(presentViewController:animated:completion:);
        SEL overrideSel = @selector(override_presentViewController:animated:completion:);
        
        Method originalMet = class_getInstanceMethod(self.class, originalSel);
        Method overrideMet = class_getInstanceMethod(self.class, overrideSel);
        
        method_exchangeImplementations(originalMet, overrideMet);
    }
     
    #pragma mark - Swizzling
    - (void)override_presentViewController:(UIViewController *)viewControllerToPresent animated: (BOOL)flag completion:(void (^ __nullable)(void))completion{
        if(@available(iOS 13.0, *)){
            if (viewControllerToPresent.modalPresentationStyle ==  UIModalPresentationPageSheet){
                viewControllerToPresent.modalPresentationStyle = UIModalPresentationFullScreen;
            }
        }
        
        [self override_presentViewController:viewControllerToPresent animated:flag completion:completion];
    }
    
    
    @end
    
    

    相关文章

      网友评论

        本文标题:iOS13后modal页面不全屏问题

        本文链接:https://www.haomeiwen.com/subject/eqmhqltx.html