几个ios闪屏和icon的方法和问题

日常sdk接入工作免不了各种闪屏和icon需要设置,但由于xcode升级导致设置方法有不同的变迁,着此记录下ios的设置方法

Icons:

  • 方法一:
    早期xcode版本,在Info.plist中设置icons,因不打算再用此方法,具体对应尺寸不在记录
    在这里插入图片描述
  • 方法二:
    设置App Icon Source,widows上可以用convert做切分icon的脚本,mac上推荐 Icon Set Creator免费版,收费版和免费版收费功能并不好用。
    在这里插入图片描述
    附:ios Icon全尺寸

闪屏

  • 方法一:启动图
    点击工程目录中的Images.xcassets,点击左侧边栏的LaunchImages
    Launch Screen File留空
    在这里插入图片描述
    xcode11以后没有Launch Images Source,但可以再setting中设置在这里插入图片描述
  • 方法二:启动页面
    好处是自适应屏幕,不用挨个拖图
    在这里插入图片描述
    在这里插入图片描述
  • 方法三:
    很多手游渠道对闪屏适配其实不太关心,可以用代码实现一个简单的图片适配和延迟
    //添加闪屏,如果有的话
    NSString *splashName = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"platformID"];
    NSString *splashPath = [[NSBundle mainBundle] pathForResource:splashName ofType:@"png"];
    if (splashName == NULL || splashPath == NULL){
        app->run();
    }else{
        UIImage *splashImage = [UIImage imageWithContentsOfFile:splashPath];
        CGRect rect = [[UIScreen mainScreen] bounds];
        UIView* splashView = [[UIView alloc] initWithFrame:rect];
        splashView.layer.contents = (id)splashImage.CGImage;
        [[viewController view] addSubview:splashView];
        
        //退出闪屏
        dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
            //        [splashView removeFromSuperview];
            //        cocos2d::CCApplication::sharedApplication()->run();
            //淡出闪屏
            [UIView animateWithDuration:0.5 animations:^{
                splashView.alpha = 0.0;
                app->run();
            }];
        });
    }
    

注意:
此方法遇到执行时出现过,显示icon放大到全屏并且模糊的情况,
实际是因为此代码若splashName为nil,则返回的是Images.xcassets中的第一张图的路径

NSString *splashPath = [[NSBundle mainBundle] pathForResource:splashName ofType:@“png”];

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值