Ios 关闭Popover时,如何保存当前状态?
通过故事板segue,我制作了一个Popover视图。在popover viewcontroller中,有两个开关(开/关)。一切都好。但是在关闭popover viewcontroller后,当重新调用popover视图时,popover的状态是默认状态。也就是说,开关每次都打开。如何保存已更改的状态(关闭开关,如果已完成) 这是PopOver的代码Ios 关闭Popover时,如何保存当前状态?,ios,iphone,swift,xcode,popover,Ios,Iphone,Swift,Xcode,Popover,通过故事板segue,我制作了一个Popover视图。在popover viewcontroller中,有两个开关(开/关)。一切都好。但是在关闭popover viewcontroller后,当重新调用popover视图时,popover的状态是默认状态。也就是说,开关每次都打开。如何保存已更改的状态(关闭开关,如果已完成) 这是PopOver的代码 override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "noticePopover" {
let popoverViewController = segue.destination
popoverViewController.popoverPresentationController?.delegate = self
UIView.animate(withDuration: 0.5, animations: {
self.view.alpha = 0.5
})
segue.destination.popoverPresentationController?.backgroundColor = inspotPointColor
}
}
func adaptivePresentationStyle(for controller: UIPresentationController) -> UIModalPresentationStyle {
return UIModalPresentationStyle.none
}
func popoverPresentationControllerDidDismissPopover(_ popoverPresentationController: UIPopoverPresentationController) {
print("popoverPresentationControllerDidDismissPopover")
UIView.animate(withDuration: 0.2, animations: {
self.view.alpha = 1.0
})
}
我搜索了这个问题,但找不到解决方案。请告知我您的好意。您需要将开关状态保存到某个位置;用户默认值、核心数据、plist文件,甚至只是将其保存在某个变量中。然后,您可以在
viewDidLoad
中为您的popover视图控制器设置开关状态。谢谢您的评论。我看到了解决它的道路。我试着编码UserDefaults.PaulW11?正如你所说,我成功的唯一原因是转换。但Popover视图是通知状态(推送)。这是设置>通知打开/关闭的状态。我可以保存ViewController的总体状态吗?@Bennie,在本地保存数据将解决您的问题,正如Paulw所说,相关逻辑由您决定。你的逻辑是否符合你的要求?@Basir Alam。谢谢你的评论。主要原因是我的逻辑混乱。我会检查我的逻辑并重建它^^您需要将开关状态保存到某个位置;用户默认值、核心数据、plist文件,甚至只是将其保存在某个变量中。然后,您可以在viewDidLoad
中为您的popover视图控制器设置开关状态。谢谢您的评论。我看到了解决它的道路。我试着编码UserDefaults.PaulW11?正如你所说,我成功的唯一原因是转换。但Popover视图是通知状态(推送)。这是设置>通知打开/关闭的状态。我可以保存ViewController的总体状态吗?@Bennie,在本地保存数据将解决您的问题,正如Paulw所说,相关逻辑由您决定。你的逻辑是否符合你的要求?@Basir Alam。谢谢你的评论。主要原因是我的逻辑混乱。我会检查我的逻辑并重建它^^