iOS 将storyboard转为图片

2022-10-13  本文已影响0人  宥落

一、背景

目前launchimages已被苹果完全废弃,都使用LaunchScreen.storyboard作为启动图,其目的就是为了启动图能更好的适配不同尺寸屏幕的手机。为了给用户更好的启动体验,我们再也不能单纯的用一张图作为启动图。

目前可行的做法大致有两种(有更多的,欢迎推荐):

二、需求 & 场景

以启动图为背景图,实现某些需求的场景:

以上情况,我就需要以启动图为图片,或作为背景或作为过渡页或作为placeholderImage

三、解决方法

具体做法就是把LaunchScreen.storyboard转为图片,参考文章(原先的文章不是Markdown模式,现在换一下):

/*
 获取启动图
 */
- (UIImage *)getLaunchScreensImage{
    CGSize size = CGSizeMake([[UIScreen mainScreen] bounds].size.width, [[UIScreen mainScreen] bounds].size.height);
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"LaunchScreen" bundle:nil];
    UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"LaunchScreensId"];
    vc.view.size = size;

    UIGraphicsBeginImageContextWithOptions(size, YES, 0.0f);
    [vc.view.layer renderInContext:UIGraphicsGetCurrentContext()];
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return image;
}

之后就可以拿着这张图片做相关的需求!

上一篇 下一篇

猜你喜欢

热点阅读