slider 设置滑过的和未滑的的图片

实现效果:

img_6811a36a13d3c492c04b4af4c283ecf0.png
image.png

主要代码:

//设置已经滑过一端滑动条背景图片,会覆盖之前之前的颜色,以下相同
    [sli1 setMinimumTrackImage:[UIImage imageNamed:@"sliderImage.png"] forState:UIControlStateNormal];
    //设置未滑过一端滑动条背景图片
    [sli1 setMaximumTrackImage:[UIImage imageNamed:@"sliderMaxImage.png"] forState:UIControlStateNormal];
    //设置滑块图片背景
    [sli1 setThumbImage:[UIImage imageNamed:@"1.png"] forState:UIControlStateNormal];

swift:

        slider.setMinimumTrackImage(#imageLiteral(resourceName: "live_vote_sliderMinImage"), for: .normal)
        slider.setMaximumTrackImage(#imageLiteral(resourceName: "live_vote_sliderMaxImage"), for: .normal)
        slider.setThumbImage(#imageLiteral(resourceName: "live_vote_sliderThumb"), for: .normal)

具体实现:

//
// ViewController.m
// Test
//
// Created by iOS on 2018/7/26.
// Copyright © 2018年 weiman. All rights reserved.
//

import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController
{
//应为后面getValue:方法要调用这个对象,所以得弄成全局变量
UILabel *label1;
}

  • (void)viewDidLoad {
    [super viewDidLoad];

    //实例化一个滑动条
    UISlider *sli1=[[UISlider alloc]init];
    //设置控件位置和大小,大小不影响控件本身大小,但当高度设置为0,滑块不可拖动
    sli1.frame=CGRectMake(30, 30, 300, 60);
    //设置值
    sli1.value=0.8;
    //设置最小值
    sli1.minimumValue=1;
    //设置最大值
    sli1.maximumValue=10;
    //设置已经滑过一端滑动条颜色
    sli1.minimumTrackTintColor=[UIColor redColor];
    //设置未滑过一端滑动条颜色
    sli1.maximumTrackTintColor=[UIColor blackColor];
    //设置最小值一端图片,会挤压滑动条宽度
    sli1.minimumValueImage=[UIImage imageNamed:@"1.png"];
    //设置最大值一端图片,会挤压滑动条宽度
    sli1.maximumValueImage=[UIImage imageNamed:@"2.png"];
    //设置滑块颜色,貌似无效,可能是默认的时图片,已经覆盖了颜色
    sli1.thumbTintColor=[UIColor yellowColor];

    //设置已经滑过一端滑动条背景图片,会覆盖之前之前的颜色,以下相同
    [sli1 setMinimumTrackImage:[UIImage imageNamed:@"sliderImage.png"] forState:UIControlStateNormal];
    //设置未滑过一端滑动条背景图片
    [sli1 setMaximumTrackImage:[UIImage imageNamed:@"sliderMaxImage.png"] forState:UIControlStateNormal];
    //设置滑块图片背景
    [sli1 setThumbImage:[UIImage imageNamed:@"1.png"] forState:UIControlStateNormal];

    //最重要的就是根据滑动事件来进行相应操作
    //此处和按钮的类似,但是按钮的事件是按下,而这里的事件是UIControlEventValueChanged值变化就是事件
    [sli1 addTarget:self action:@selector(getValue1:) forControlEvents:UIControlEventValueChanged];

    //设置一个标签,把变动的值实时显示出来
    //得在上面弄成全局变量,所以这里就不是UILabel *label1了,而直接初始化即可
    label1=[[UILabel alloc]initWithFrame:CGRectMake(30, 100, 300, 50)];
    label1.text=@"值";

    [self.view addSubview:sli1];
    [self.view addSubview:label1];

}

  • (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
    }

-(void)getValue1:(id)sender{
UISlider *sli2=(UISlider *)sender;
label1.text=[NSString stringWithFormat:@"%f",sli2.value];
}

@end

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值