我知道当我的应用程序进入前台时我可以同步 NSUserDefaults。但它不能满足我的要求,我希望一旦我在设置包中更改设置,我的应用程序的音量可以同时改变,即使它是在后台运行的。
问问题
1633 次
1 回答
2
我认为,当应用程序在后台运行(甚至手动)时,您无法 更改音量!!。
但是,当应用程序从后台唤醒时,您可以使用NSUserDefaultsDidChangeNotification
例子:
-(void)viewDidAppear:(BOOL)animated{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(defaultsSettingsChanged) name:NSUserDefaultsDidChangeNotification object:nil];
}
- (void)viewDidDisappear:(BOOL)animated{
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
-(void)defaultsSettingsChanged{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if([[defaults stringForKey:@"speech"] isEqualToString:@"0"])
{
speech.hidden = YES;
}
}
于 2012-11-07T05:19:07.967 回答