Xcode:检查 UIButton 是不是隐藏,使用 NSUserDefaults

Posted

技术标签:

【中文标题】Xcode:检查 UIButton 是不是隐藏,使用 NSUserDefaults【英文标题】:Xcode: Check if UIButton is hidden, using NSUserDefaultsXcode:检查 UIButton 是否隐藏,使用 NSUserDefaults 【发布时间】:2011-09-06 15:35:30 【问题描述】:

我将如何允许应用保存和加载按钮的当前状态(即,如果它被隐藏,我将如何保存它,以便下次它会被隐藏)?另外,我当前设置了它,以便在按下按钮时,所有其他按钮都不会隐藏。如果您明白我的意思,我该如何设置它,以使某些在 NSUserDefaults 中设置为未隐藏时不会被隐藏?

谢谢

【问题讨论】:

【参考方案1】:

您可以查看NSUserDefaults 上的 Apple 文档,以获取您需要的任何其他信息。

 NSUserDefaults *defaults = [NSUserDefaults standardDefaults];
 [defaults setObject:myBool boolForKey:@"hiddenButton"];
 [defaults synchronize];

然后你可以用同样的方式拉它并设置你的隐藏值。

NSUserDefaults *defaults = [NSUserDefaults standardDefaults];
myButton.hidden = [defaults boolForKey:@"hiddenButton"];

编辑:

这将是一种实现方式,但这实际上取决于您想要什么。

myViewController.h

BOOL myButtonState;


myViewController.m

-(void)viewDidLoad 

   NSUserDefaults *defaults = [NSUserDefaults standardDefaults];
   myButton.hidden = [defaults boolForKey:@"hiddenButton"];



-(IBAction)buttonPressed 

  myButtonState = TRUE;
  NSUserDefaults *defaults = [NSUserDefaults standardDefaults];
  [defaults setObject:myButtonState boolForKey:@"hiddenButton"]; 
  [defaults synchronize];


【讨论】:

非常感谢!如何在 .h 文件中设置 myBool 值? 我可能只是把它放在你拉按钮状态的地方。 BOOL 按钮状态;然后只需从用户默认值中填充它。如果您在全局范围内需要它,只需以同样的方式声明即可。 没听懂,不明白你的意思?你能提供一些示例代码吗?谢谢! 尝试运行代码时出现 NSException 错误。这里是; pastie.org/2492710。为什么会这样? 我更新了我的代码,但它未经测试。我相信这是因为 bool 不是 -objectForKey 支持的数据类型,所以请尝试使用 -boolForKey。你可能需要修补它,但我相信这就是它在你身上流产的原因。

以上是关于Xcode:检查 UIButton 是不是隐藏,使用 NSUserDefaults的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 使查看全屏,隐藏状态栏,导航栏等

使用 UITapGestureRecognizer 使键盘隐藏,当我在 UIButton 内触摸时它不起作用 [重复]

约束/自动布局栏隐藏,Xcode 6

Swift/XCode 编辑类或 UIButton 的所有实例

我无法在 xcode 9.1 中的 UIButton 上显示图像

如何使这个 UIButton 的动作正确运行?