如何从“设置

时间:2016-09-13 07:29:32

标签: ios swift uiviewcontroller uilocalnotification

我正在向用户发送本地通知,并且我想在通知设置按钮上显示相关标题。

如果本地通知已关闭,则此标题应为“通知:关闭”,如果启用了本地通知,则此标题应为“首选项”。

现在我在viewDidLoad和viewDidAppear中检查它,它可以工作。

if UIApplication.sharedApplication().currentUserNotificationSettings()?.types.rawValue == 0 {
    //the first title
} else {
    //the second title
}

除一例外。如果我的用户正在将电话设置中的通知从“打开”更改为“关闭”,反之亦然,之后他又回来了 - 标题没有改变(因为这个viewController已经加载并且确实出现了)。

如何从“设置”中检查用户是否已返回?

1 个答案:

答案 0 :(得分:2)

当您的应用从非活动状态进入前台时,您可以观察此通知,每次从后台再次打开应用时,都会调用选择器:

加入viewDidLoad

NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(self.reloadData), name: UIApplicationWillEnterForegroundNotification, object: UIApplication.sharedApplication())

加入viewDidDissapeardeinit

NSNotificationCenter.defaultCenter().removeObserver(self)