Iphone 改变屏幕的亮度

Iphone 改变屏幕的亮度,iphone,ios,initialization,uislider,Iphone,Ios,Initialization,Uislider,我正在使用UISlider的值更改UIScreen亮度我尝试了以下代码 self.Slide = [[UISlider alloc] initWithFrame:CGRectMake(13, 0, 244, 23)]; [self.Slide addTarget:self action:@selector(sliderHandler:) forControlEvents:UIControlEventValueChanged]; self.Slide.minimumValue = 0.0f; se

我正在使用UISlider的值更改UIScreen亮度我尝试了以下代码

self.Slide = [[UISlider alloc] initWithFrame:CGRectMake(13, 0, 244, 23)];
[self.Slide addTarget:self action:@selector(sliderHandler:) forControlEvents:UIControlEventValueChanged];
self.Slide.minimumValue = 0.0f;
self.Slide.maximumValue = 1.0f;
[self.Slide setValue:0.0f];
self.Slide.value = [[UIScreen mainScreen] brightness];
[self.view addSubview:self.Slide];
调用的方法是

- (void)sliderHandler:(UISlider *)sender {
   [[UIScreen mainScreen] setBrightness:sender.value];
}
方法是调用,但亮度不变

如何将UISlider值设置为0初始值?
谢谢……

请使用此代码,至于滑块值,请设置以下代码中给出的最大值和最小值

而下面的代码也可以工作

- (void)viewDidLoad
{
    UISlider *slider = [[UISlider alloc] initWithFrame:CGRectMake(0,0,300,40)];
    [slider addTarget:self action:@selector(sliderHandler:) forControlEvents:UIControlEventValueChanged];
    slider.minimumValue = 0.f;
    slider.maximumValue = 1.0f;
    slider.value = [[UIScreen mainScreen] brightness];
    [[self view]addSubview:slider];

    [super viewDidLoad];
}

- (void)sliderHandler:(UISlider *)sender
{
    //NSLog(@"value:%f", sender.value);
    [[UIScreen mainScreen] setBrightness:sender.value];
}
编辑:


你也可以这样试试。向视图添加一个透明颜色的UIVIew,并在滑块值更改事件发生时增加此视图的alpha组件。通过这样做,视图变暗,我们感觉应用程序的亮度降低了。这个解决方案可能不太合适,但效果很好

谢谢,但是亮度在模拟器中仍然没有变化,NSLog是正确的,请看-您只能在设备上测试它。