通过LaunchScreen.storyboard设置启动图与调整启动图的时间

本文详细介绍了如何在iOS应用中通过LaunchScreen.storyboard设置自定义启动图,并调整其显示时间。首先,需在General设置中修改LaunchScreenFile为LaunchScreen,并在InterfaceBuilderDocument中勾选相应选项。接着,向LaunchScreen中添加ImageView并设置约束,确保全屏显示。为消除屏幕留白,调整顶部和底部约束。最后,将启动图资源放入Assets.xcassets,并在代码中使用Thread.sleep延长启动时间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通过LaunchScreen.storyboard设置启动图与调整启动图的时间

设置启动图

  1. 点击项目名称,选择General,找到App Icons and Launch Images,将其中的Launch Screen File 修改为 LaunchScreen。
    选择launchscreen
  2. 选中LaunchScreen.storyboard,先选择view,然后点击文件标志show the file inspector,将Interface Builder Document中的三个选项全部勾选。
    勾选
  3. 向LaunchScreen.storyboard中的view controller中拖入一个Image View。
    新建image view
  4. 为新建的Image View添加约束,上下左右全部为0。
    添加约束
  5. 此时屏幕上下两端会有留白,选中底部约束,选中First item,选择Superview,并且将Constant设置为0。
    调整屏幕
  6. 顶部约束的设置一样,不过要选择Second Item。
  7. 最后去掉Use Safe Area Layout Guides的✅,并且选择启动图的名称(要提前将启动图放到Assets.xcassets中,否则无法选择)。
    去勾

选图

延长启动图的持续时间

在第一个页面中插入如下代码(注意:参数的单位是秒)

// 延长LaunchScreen中的时间
Thread .sleep(forTimeInterval: 5.0)
### 如何设置自定义Storyboard作为应用的启动界面 在iOS开发中,如果希望使用自定义的Storyboard来替代默认的Main.storyboard或者LaunchScreen.storyboard作为应用程序的主要入口界面,则可以通过修改项目的配置文件以及调整AppDelegate中的代码逻辑完成这一目标。 #### 修改项目配置 首先,在Xcode中打开`Info.plist`文件。找到键名为`UIMainStoryboardFile`的条目,默认情况下它的值可能是`Main`或其他名称,这取决于当前使用的Storyboard名字。将其更改为新的Storyboard的名字(不带扩展名)。例如,如果你创建了一个叫做CustomStoryboard的故事板,那么应该将这个字段设为`CustomStoryboard`[^1]。 #### 设置Root View Controller 其次,在AppDelegate.swift里可以重新指定根视图控制器(rootViewController),如下所示: ```swift func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { let storyboard = UIStoryboard(name: "CustomStoryboard", bundle: nil) let initialViewController = storyboard.instantiateInitialViewController() window?.rootViewController = initialViewController window?.makeKeyAndVisible() return true } ``` 上述代码片段展示了如何通过编程方式加载特定的Storyboard并设定其初始视图为窗口的根视图控制器[^2]。注意这里的`CustomStoryboard`应替换为你实际使用的Storyboard文件名。 #### 处理推送通知等额外选项 如果有其他初始化需求比如处理推送通知参数等情况时,可以在`didFinishLaunchingWithOptions:`方法内部增加相应判断语句[^4]: ```objc if (launchOptions != nil) { NSDictionary *dictionary = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]; if (dictionary != nil) { NSLog(@"Launched from push notification: %@", dictionary); [self addMessageFromRemoteNotification:dictionary updateUI:NO]; } } ``` 此部分确保即使程序因远程消息而被唤醒也能正常工作,并且能够获取到传递过来的数据包内容以便进一步操作。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值