UI控件篇——UISlider与UISwitch

UISlider滑块控件
      UISlider实例提供一个控件,让用户通过左右拖动一个滑块(可称其为“缩略图”)来选择一个值。默认情况下,滑块的最小值为0.0,最大值为1.0。当然可以在属性面板中通过设置minimumValuemaximumValue来进行定制这两个值。如果要为控件两端设置样式,可以添加一对相关图像(minimumValueImagemaximumValueImage属性)来加强该设置,也可在代码中通过setMimimumTrackImage: forState:setMaximumTrackImage: forState: 方法来添加设置两端图片。 

      滑块的continuous属性控制在用户拖动缩略图时一个滑块是否持续发送值更新。设置为NO(默认为YES)时,用户释放缩略图时滑块仅发送一个动作事件。UISlider类还允许直接更新其缩略图组件,通过调用setThumbImage: forState:方法可定制自己的滑块图片。

自定义UISlider的样式和滑块的代码:

//左右轨的图片
UIImage *stetchLeftTrack = [UIImage imageNamed:@"snow_bar.png"];
UIImage *stetchRightTrack = [UIImage imageNamed:@"sun_bar.png"];
//滑块图片
UIImage *thumbImage = [UIImage imageNamed:@"mark.png"];

UISlider *slider = [[UISlider alloc] initWithFrame:CGRectMake(30,320,257,7)];
slider.backgroundColor = [UIColor clearColor];
slider.value = 1.0;
slider.minimumValue = 0.7;
slider.maximumValue = 1.0;

[slider setMinimumTrackImage:stetchLeftTrack forState:UIControlStateNormal];
[slider setMaximumTrackImage:stetchRightTrack forState:UIControlStateNormal];
//注意这里务必加上UIControlStateHightlighted的状态,否则当拖动滑块时滑块将变成原生的控件
[slider setThumbImage:thumbImage forState:UIControlStateHighlighted];
[slider setThumbImage:thumbImage forState:UIControlStateNormal];

//滑块拖动时的事件
[slider addTarget:self action:@selector(sliderValueChanged:) forControlEvents:UIControlEventValueChanged];

//滑块拖动后的事件
[slider addTarget:self action:@selector(sliderDragUp:) forControlEvents:UIControlEventTouchUpInside];

[self.view addSubview:slider];

UISwitch开关切换控件
UISwitch对象提供一个简单的开/关切换,允许用户选择一个布尔值。
 

原文地址:https://www.cnblogs.com/lovecode/p/2296260.html