【问题标题】:Creating a "settings" option创建“设置”选项
【发布时间】:2011-07-13 19:42:18
【问题描述】:

我想在我的应用的第一个屏幕上进行设置切换。

在我的主视图(应用加载时显示的第一个视图)我有一张桌子。每个单元格加载不同的视图。

我想在我的主视图上进行切换,这将改变其他视图的显示方式(具体的文本颜色和背景图像)。

如何做到这一点?

【问题讨论】:

    标签: iphone ios settings uiwindow


    【解决方案1】:

    我会推荐使用 NSUserDefaults。这是用户更改设置时应激活的代码。

    [[NSUserDefaults standardUserDefaults] setBOOL:YES forKey@"Whatever"];
    

    然后,在新屏幕的 viewDidLoad 部分,粘贴:

    if ([[NSUserDefaults standardUserDefaults] boolForKey:@"Whatever"] == YES)
    
    {
    
        //Then do your settings here, for example if whatever toggles the color
    
        //then type: view.backgroundColor = [[UIColor redColor];
    
    }
    

    显然有比使用布尔值通过 NSUserDefaults 存储信息更好的方法。我实际上会为此阅读 Apple 的文档。这很有趣,也很有意义。

    【讨论】:

    • 这正是我一直在寻找的 :-) 非常感谢
    • 我在我需要的地方输入了所有内容,没有错误,但它不起作用。有什么想法???
    • 在使用 if 语句时确保键(随便)完全匹配。大写、拼写等。此外,在某些情况下,将内容保存到 NSUserDefaults 会有所延迟。它不应该被延迟,但我会激活代码(你把它放在一个按钮中吗?点击按钮),等一下,然后试试看。告诉我这是否有效(这里的代码绝对正确)。
    • 哦,我觉得很蠢,我把它放在viewDidLoad中,而不是viewDidAppear中。现在可以了。但我有一个问题。直到视图完全出现 1/2 秒后,它才会应用更改。
    • 呵呵,你应该把它放在viewDidLoad中。我假设 viewDidAppear 是在视图出现之后,它不会像 viewDidLoad 那样工作。您能否尝试查找一个 NSUserDefaults 示例代码项目,看看它是否适用于您的计算机?
    【解决方案2】:

    Apple 有一些很棒的应用程序偏好文档:

    http://developer.apple.com/library/ios/#DOCUMENTATION/iPhone/Conceptual/iPhoneOSProgrammingGuide/Preferences/Preferences.html

    这是一个很棒的库,它还为您简化了一些事情:

    http://www.inappsettingskit.com/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-03
      • 2014-11-18
      • 1970-01-01
      • 1970-01-01
      • 2016-10-13
      • 2011-05-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多