0

所以我有一个UISegmentedControl由四个选项卡组成的。我需要做的是让它在整个应用会话期间被记住最近点击的标签。也就是说,当应用程序第一次启动时,第一个UISegmentController选项卡将被选中,然后用户单击第三个选项卡,然后用户决定转到应用程序中的不同视图,然后当用户返回视图时UISegmentedControl最近的(在这种情况下为第三个)选项卡仍被选中。

我已经看到NSUserDefaults该类非常适合保存设置,但据我了解,NSUserDefaults该类以一种方式保存数据,即使应用程序被杀死然后启动它也会恢复以前保存的设置。这是我不想要的东西,我只希望应用程序将最近选择的选项卡保存为选择它的应用程序会话的长度。

我希望我说得通,如果需要更多信息/代码/解释,请告诉我。

非常感谢。

4

2 回答 2

0

好吧,这是一个相当菜鸟的问题..

我意识到我需要重置 UI 设置,viewWillAppear:因为viewWillAppear:每次要求显示视图时都会viewDidLoad:调用它,这与仅在第一次创建视图时调用不同。

这是帮助我实现的图表: UIViewController Life Cycle

于 2013-07-07T07:03:29.180 回答
0

我不明白为什么你的视图包含分段控制重新加载?如果您实现了正常的 MVC 方案,则默认情况下应该记住您的 UI 状态。在 userdefaults 中存储这些东西太糟糕了。我假设你有一个标签栏控制器作为根控制器,所以请检查你是否没有在 viewWillAppear 或 viewDidAppear 上重置 UI 状态。从 iPhone 发送。

于 2013-07-07T06:34:11.197 回答