将应用程序带到前台后,UIAlertView不可见

时间:2012-09-27 10:20:40

标签: objective-c ios uinavigationcontroller uialertview

我正在开展一些iOs项目。在这个项目中,我有一个过程:

  1. 用户在注册页面注册
  2. 当他按“注册”时,会显示另一个页面(通过NavigationControler,带有进度指示符和“请等待”消息。)
  3. 从服务器获得响应后,UIAlertView中的某些消息显示
  4. 当用户在提醒时按“确定”,它将移至下一个(当一切正常时)或之前(出现问题时)页面。
  5. 在大多数情况下,此流程有效。但有时(并非总是),当用户将应用程序发送到后台/在进程指示器打开时锁定屏幕,然后将应用程序恢复为活动状态时,UIAlertView不会显示。但是,如果用户再次将应用程序发送到后台并将其恢复,则可以看到消息。

    因为需要与UIAlertView的互动才能继续,所以这是一个问题。我不能向用户请求知识,如果此时没有可见的消息,他们应该再次将应用程序转回前方。我不知道它为什么会发生,以及如何避免这种行为。你能救我吗?

1 个答案:

答案 0 :(得分:1)

当您的应用在后台时,您可以提供本地通知。所以根据你的意见,如果alertview没有来,但你仍然希望该用户应该知道发生了什么事情或者出了什么问题,那么你可以直接使用本地通知。

这是代码 -

 UILocalNotification *localNotification = [[UILocalNotification alloc] init];

 localNotification.fireDate = self.datePicker.date;
 localNotification.alertBody = self.messageField.text;
 localNotification.soundName = UILocalNotificationDefaultSoundName;
 localNotification.applicationIconBadgeNumber = 1;

 NSDictionary *infoDict = [NSDictionary dictionaryWithObjectsAndKeys:@"Object 1", @"Key
  1", @"Object 2", @"Key 2", nil];
 localNotification.userInfo = infoDict;

 [[UIApplication sharedApplication] scheduleLocalNotification:localNotification];
 [localNotification release];

因此,当本地通知生成用户可以知道这一点。您可以将用户导航到应用程序。点击本地通知提醒。 locasl通知警报将自动生效。

这里有更详细的链接 - http://www.iostipsandtricks.com/ios-local-notifications-tutorial/