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的主要内容,如果未能解决你的问题,请参考以下文章
使用 UITapGestureRecognizer 使键盘隐藏,当我在 UIButton 内触摸时它不起作用 [重复]
Swift/XCode 编辑类或 UIButton 的所有实例