IPhone X Unity刘海适配解决方案

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/nemo_free/article/details/84134787

Unity如果未做任何处理的话,导出的IPA运行起来的效果,刘海屏这块被自己被覆盖掉

图片来自网络

解决方案

在导出的UnityAppController.mm文件中找到-(BOOL)didFinishWithLaunchingWithOptions:(NSDictionary*)launchOptions 方法

竖屏(参数刚好移出刘海的区域)

参数自己可以调节

//    _window         = [[UIWindow alloc] initWithFrame: [UIScreen mainScreen].bounds];
 
    CGRect winSize = [UIScreen mainScreen].bounds;
    //IPHONEX
    if (winSize.size.height / winSize.size.width > 2) 
    {
        winSize.size.height -= 32;
        winSize.origin.y = 32;
    }  
    _window = [[UIWindow alloc] initWithFrame: winSize]; 

横屏(参数刚好移出刘海的区域)

参数自己可以调节

//    _window         = [[UIWindow alloc] initWithFrame: [UIScreen mainScreen].bounds];

    CGRect winSize = [UIScreen mainScreen].bounds;
    //IPHONEX
    if (winSize.size.width/ winSize.size.height> 2) 
    {
        winSize.size.width-= 32;
        winSize.origin.x = 32; 
    } 
    _window = [[UIWindow alloc] initWithFrame: winSize]; 

猜你喜欢

转载自blog.csdn.net/nemo_free/article/details/84134787