我已经看到我可以通过注册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。我们无法区分两者。

10-07 13:14