iOS开发——设置屏幕亮度

  想在APP里面调节屏幕的亮度,这只是个小众需求。而且,虽然可以直接调节手机的亮度,但是它还是个需求,客户有需求,剩下的就是我们的事了,好了,吐槽到此结束。

  刚拿到这个需求的人,或许想的是直接对view各种折腾,其实UIScreen里有一个Brightness属性,可以通过下面的方法直接调节:

  [[UIScreen mainScreen] setBrightness : (float)brightness];
 
  需要注意的是:这里改变屏幕的亮度,不仅仅是改变APP内部的亮度,它是和手机系统的亮度同步的,即应用程序退出之后,屏幕亮度不会恢复,另外此设置模拟器上看不到效果,只有真机上有效。
 
  这个设置一般是和UISlider滑块控件配合使用,这里就简单的给个demo,可以试着跑着玩玩。

- (void)viewDidLoad {

    [super viewDidLoad];

    

    UISlider *slider = [[UISlider alloc] initWithFrame:CGRectMake(50, 200, 200, 30)];

    slider.minimumValue = 0;

    slider.maximumValue = 1;

    slider.continuous = YES;

    [slider addTarget:self action:@selector(sliderValueChanged:) forControlEvents:UIControlEventValueChanged];

    [self.view addSubview:slider];

    

    CGFloat brightness = [[UIScreen mainScreen] brightness];

    NSLog(@"brightness:%f",brightness);

}

- (void)sliderValueChanged:(UISlider*)sender {

    NSLog(@"value:%f",sender.value);

    [[UIScreen mainScreen] setBrightness:sender.value];

}

原文地址:https://www.cnblogs.com/yyt-hehe-yyt/p/6645984.html