通知时区更改为iOS应用程序

时间:2016-03-22 10:53:03

标签: ios objective-c notifications timezone nsnotificationcenter

我想澄清一下通知应用中的时区变化。

  • 场景1 :当用户从iPhone设置手动更改时区时。我想在这种情况下,以下帖子将会锻炼。

Notify app when iPad date time settings changed

  • 场景2 :如果应用位于前台且用户正在前往与手机设置中设置的时区不同的时区。在这种情况下,是否有任何方式可以通知应用程序时区的变化?这意味着当位置变为不同的时区时,是否可以通知应用程序时区的变化。

我已经看到了另一种可以通知时区变更的方式,具体如下。

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(timeZoneChanged) name: NSSystemTimeZoneDidChangeNotification object:nil];

任何人都可以根据方案2提供通知时区变更的最佳方式。

1 个答案:

答案 0 :(得分:0)

您可以通过让他们调用相同的方法来处理这两种通知。您需要知道的是,您展示的任何时候都可能需要改变;在极少数情况下,您将显示用户的时区,也需要更改。这两种通知都很少见,因此最简单的方法是重新显示所有内容。

您也可以考虑查看nextDaylightSavingTimeTransition;如果有什么需要改变的话。例如,如果我将闹钟设置为上午8点,并且您注意到夏令时间在现在和闹钟之间发生变化,您可以在明天上午8点或今天上午8点之后24小时询问您是否需要闹钟。