Изменить яркость UIScreen

Я меняю яркость UIScreen, используя значение UISlider, я пробовал этот код

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 начальному? Благодарность....


person Denny    schedule 03.08.2013    source источник
comment
См. stackoverflow.com/questions/10230796/ - Вы можете проверить это только на устройстве.   -  person Martin R    schedule 03.08.2013


Ответы (1)


Используйте этот код, а для значения ползунка установите максимальное и минимальное значение, как указано в приведенном ниже коде Яркость UISlider

Принимая во внимание, что приведенный ниже код тоже будет работать.

- (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 чистого цвета в представление и увеличьте альфа-компонент этого представления при событии изменения значения ползунка. Делая это, вид затемняется, и у нас возникает ощущение, что яркость приложения уменьшается. Это решение может быть не очень подходящим, но оно прекрасно работает.

person IronManGill    schedule 03.08.2013
comment
спасибо, но яркость все еще не меняется в симуляторе NSLog правильный - person Denny; 03.08.2013