在我们开发项目的过程中,常常会遇到这样的功能,比如调整亮度,或者调整当前屏幕的字体大小,

其实这样的功能很好实现,

具体代码如下:

一、声明成员变量

1 {
2     UIView *_view;
3     BOOL isHidden;
4     UISlider *_slider;
5     UISlider *_twoSlider;
6     float value;
7     UILabel *_label;
8     NSInteger fontSize;
9 }

二、创建所需要改变的字体,一个label或是其他的控件,随意了

1     _label = [[UILabel alloc]initWithFrame:CGRectMake(50, 100, MainScreen_width - 100, 80)];
2     _label.textAlignment = NSTextAlignmentCenter;
3     _label.textColor = [UIColor whiteColor];
4     _label.text = @"大黄蜂";
5     fontSize = 15;
6     _label.font = [UIFont systemFontOfSize:15];
7     [imageView addSubview:_label];

三、创建slider,并把屏幕的亮度和字体的大小与slider相关联

1 _slider.backgroundColor = RGBAColor(239, 239, 239, 1);
 2     _slider.value = 0.5;
 3     _slider.minimumValue = 0.01;
 4     _slider.maximumValue = 1.0;
 5     _slider.minimumTrackTintColor = [UIColor greenColor];//划过的颜色
 6     _slider.maximumTrackTintColor = [UIColor whiteColor];//未划过的颜色
 7     [_slider addTarget:self action:@selector(sliderValueChange:) forControlEvents:UIControlEventValueChanged];
 8     [_view addSubview:_slider];
 9     
10     _twoSlider = [[UISlider alloc]initWithFrame:CGRectMake(35, 60, MainScreen_width - 70, 30)];
11     _twoSlider.backgroundColor = RGBAColor(239, 239, 239, 1);
12     _twoSlider.minimumValue = 1;
13     _twoSlider.maximumValue = 100;
14     _twoSlider.value = 50;
15     _twoSlider.minimumTrackTintColor = [UIColor greenColor];//划过的颜色
16     _twoSlider.maximumTrackTintColor = [UIColor whiteColor];//未划过的颜色
17     [_twoSlider addTarget:self action:@selector(twoSliderValueChange:) forControlEvents:UIControlEventValueChanged];
18     [_view addSubview:_twoSlider];

三、具体点击的方法的实现

1 //控制屏幕亮度的方法
 2 -(void)sliderValueChange:(UISlider *)sender
 3 {
 4     [[UIScreen mainScreen]setBrightness:sender.value];
 5 }
 6 
 7 //控制字体大小的方法
 8 -(void)twoSliderValueChange:(UISlider *)sender
 9 {
10     _label.font = [UIFont systemFontOfSize:sender.value];
11 }

这样的话,具体的功能就实现了,可以通过拖动slider来控制屏幕的亮度和label字体的大小;

具体实现如下图:

调整屏幕亮度,调整字体大小_屏幕亮度

 

注:调整屏幕亮度的方法,需要真机才可以看到!获取当前系统屏幕亮度的方法,上面方法里面具体有,可以看看!


作者:稻草人11223