![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0NXYFhGd192UvwVe0lmdhJ3ZvwFM38CXlZHbvN3cpR2Lc1TPB10QGtWUCpEMJ9CXsxWam9CXwADNvwVZ6l2c052bm9CXUJDT1wkNhVzLcRnbvZ2Lc1TRU1UM0cVWwBnMaVnRXR2bOhFZ2hWblZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39DM0EDOwEDN5ATOxITM0EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
UISlider滑块的创建和联动效果
改实例的具体效果如下:
画面显示两个滑块,当对上一个滑块进行操作时,同时下面的滑块也跟着变化。常用与一些美图工具上进行颜色调制。。。。。。。。。
代码如下:
#import "ViewController.h"
@interface ViewController ()
{
UISlider*_ZSJSlider;
}
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
[self NextMake];
}
-(void)NextMake
{
[email protected]"UISlider滑块";
//window的背景色不能为透明,透明就不能触发
self.view.backgroundColor=[UIColor whiteColor];
//创建滑块
UISlider*ZSJSlider=[[UISlider alloc]initWithFrame:CGRectMake(0, 0, 200, 50)];
//设置滑块的最小和最大值
ZSJSlider.maximumValue=1.0;
ZSJSlider.minimumValue=0.0;
ZSJSlider.center=self.view.center;
//指定滑块变化时得调用方法
[ZSJSlider addTarget:self action:@selector(sliderChange:) forControlEvents:UIControlEventValueChanged];
//复制滑块
_ZSJSlider=[[UISlider alloc]init];
_ZSJSlider.frame=ZSJSlider.frame;
_ZSJSlider.minimumValue=ZSJSlider.minimumValue;
_ZSJSlider.maximumValue=ZSJSlider.maximumValue;
CGPoint point=ZSJSlider.center;
point.y+=50;
_ZSJSlider.center=point;
//在画面中追加两个滑块
[self.view addSubview:ZSJSlider];
[self.view addSubview:_ZSJSlider];
}
-(void)sliderChange:(id)sender
{
if ([sender isKindOfClass:[UISlider class]]) {
UISlider*Slider=sender;
//将_ZSJSlider的值与ZSJSlider的保持一致
_ZSJSlider.value=Slider.value;
}
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
效果图展示::
第一次
第二次。。滑动第一个滑块的效果
第三次,,,只滑动第二个滑块
设置滑块的图片
代码如下:
UIImageView*image=[[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 20, 20)];
image.image=[UIImage imageNamed:@"mapbutton.png"];
[ZSJSlider setThumbImage:image.image forState:UIControlStateNormal];
[ZSJSlider setMinimumTrackImage:image.image forState:UIControlStateNormal];
效果展示