改变UIScreen的亮度

时间:2013-08-03 10:51:49

标签: 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;
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初始值? 感谢....

1 个答案:

答案 0 :(得分:0)

请使用此代码,以及下面代码中给出的滑块值设置最大值和最小值UISlider Brightness

以下代码也适用。

- (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分量。通过这样做,视图变暗,我们感觉应用程序的亮度降低了。这个解决方案可能不太合适,但效果很好。