我已经看到我可以通过注册UIScreenBrightnessDidChangeNotification
的观察者来检测屏幕亮度的变化
- (void)viewDidLoad
{
[super viewDidLoad];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(brightnessDidChange:) name:UIScreenBrightnessDidChangeNotification object:nil];
}
-(void) brightnessDidChange:(NSNotification*)notification
{
NSLog(@"Brightness did change");
}
通知的对象属性是
UIScreen
对象。我试图找到一个属性,该属性让我知道操作是用户生成的还是iOS进行的自动更改。这对我的应用程序很重要,因为两种情况应区别对待。我没有在文档中找到关于此的任何信息。任何帮助将不胜感激。
最佳答案
我认为这是不可能的,我们只能在系统或手动更改亮度时获得notification
。我们无法区分两者。