gpt4 book ai didi

ios - 启动画面时间可以配置吗?

转载 作者:行者123 更新时间:2023-11-29 12:47:33 25 4
gpt4 key购买 nike

我有一个应用程序,用户在第一个屏幕上看到的数据是从服务器获取的。该应用程序还有一个在加载应用程序时显示的启动画面。

问题根据用户的连接时间,加载数据可能需要几秒钟。在这种情况下,初始屏幕出现几秒钟,然后我又看到空白(黑色)屏幕几秒钟,然后我看到第一个屏幕。我怀疑从服务器获取数据时会出现空白屏幕。我正在寻找解决这个问题的方法

问题

  • 可以配置启动画面显示的时间长度吗?例如,也许启动画面可以一直显示到数据被获取?
  • 加载数据时是否可以显示某种微调器而不是黑色空白屏幕?

更新

这是我加载数据的方式

  def self.fetch(client, &block)
client.shared.headers["username"] = App::Persistence["username"]
client.shared.headers["token"] = App::Persistence["sessionId"]
client.shared.get('categories') do |result|
if result.success?
ary = result.object
block.call(ary)
end
end
end

并使用它

  def application(application, didFinishLaunchingWithOptions:launchOptions)
@window = UIWindow.alloc.initWithFrame(UIScreen.mainScreen.bounds)
Color.fetch(AFMotion::Client) do |data|
main_controller = ColorController.alloc.initWithData(data)
@window.rootViewController = UINavigationController.alloc.initWithRootViewController(main_controller)
@window.rootViewController.navigationBar.barTintColor = '#DF533B'.to_color
@window.rootViewController.navigationBar.translucent = true
@window.rootViewController.navigationBar.tintColor = UIColor.whiteColor
@window.rootViewController.navigationBar.setTitleTextAttributes({
UITextAttributeTextColor => UIColor.whiteColor
})
end
@window.makeKeyAndVisible

@window.tintColor = '#DF533B'.to_color
end

最佳答案

是的,可以,但不应该这样做。当您的应用程序被加载到内存中时,将显示“启动画面”。您可以延迟删除所有此屏幕 bij 不直接从 application:didFinishLaunchingWithOptions: 方法返回。 但这样做可能会导致您的应用被操作系统杀死,因为加载时间过长。

最好的选择是在 UIWindow 中放置一个 View ,以显示您的应用正在下载数据。这样您的用户就会看到您的应用正在做某事。如果可以在这里展示某种进步,那就更好了。

您甚至可以在执行网络调用的 View Controller 中执行此操作,只需在开始网络调用之前将加载 View 推送到 View 上即可。完成后删除 View 。这仅在网络调用未阻止任何 UI 更新时才有效。

关于ios - 启动画面时间可以配置吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23269147/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com