我有一个应用程序,其中我的app委托的didFinishLaunchingWithOptions注册推送通知。此注册花费的时间很少,因此启动应用程序时。我需要等待一个空白的屏幕,直到它注册。这个等待时间我需要显示“请稍候......”的消息,我该怎么做?我在didFinishLaunchingWithOptions中的注册码之前添加了一个UIView,但它只在注册后显示。 Plz帮助
答案 0 :(得分:1)
也许我误解了你的问题,但听起来你正在做某种阻塞活动 - [UIApplication didFinishLaunchingWithOptions:]方法。您应该重新构建代码,以便使用异步策略,这样您就不需要花费很长时间在didFinishLaunchingWithOptions方法中等待。在该方法完成执行之后才会显示任何内容。
当您说您正在注册推送通知时,也许您可能更具体并发布您的方法实施示例?简单地调用 - [UIApplication registerForRemoteNotificationTypes:]是非阻塞的,因此不会导致上述症状。
在后台线程上执行任何可能需要花费时间的处理(例如同步网络I / O)以避免阻塞主线程非常重要,因为主线程负责用户界面。
答案 1 :(得分:0)
iPhone Human Interface Guidelines建议提供与您的第一个视图类似的默认图片。许多Apple应用程序都这样做。看这里: Launch Images
我会先尝试这个,然后才能发出“请稍等”的消息。
答案 2 :(得分:0)
显示UIAlertView
和UIActivityIndicatorView
,然后使用延迟为0.0的performSelector:withObject:afterDelay:
来调用您的注册码。该指标将首先制作动画,您的注册码可以在同一个线程中运行。延迟0.0允许指示器稍微中断以首先开始其动画重绘过程。