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

简介: 实现效果:image.png主要代码://设置已经滑过一端滑动条背景图片,会覆盖之前之前的颜色,以下相同 [sli1 setMinimumTrackImage:[UIImage imageNamed:@"sliderImage.

实现效果:

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

目录
相关文章
Flutter 121: 图解简易 Slider 滑动条
0 基础学习 Flutter,第一百二十一步:简单学习 Slider 滑动条!
1786 0
Flutter 121: 图解简易 Slider 滑动条
|
Rust IDE NoSQL
Clion2022安装破解与激活教程,亲测可用
CLion是JetBrains公司旗下发布的一款跨平台C/C++/Rust IDE开发工具。
13403 1
|
存储 监控 NoSQL
九大核心NoSQL数据库及使用场景详解
【10月更文挑战第6天】在当今大数据与云计算飞速发展的时代,NoSQL数据库以其灵活的数据模型、可扩展性和高性能,成为了众多应用场景下的首选。本文将为您详细介绍九大核心NoSQL数据库及其典型使用场景,帮助您在工作和学习中更好地选择和应用。
494 3
|
分布式计算 Hadoop Shell
|
机器学习/深度学习 存储 自然语言处理
SeACo-Paraformer
【6月更文挑战第14天】
642 6
|
11月前
|
存储 机器学习/深度学习 监控
南大通用GBase 8s数据库onbar基础使用教程
数据备份与恢复是确保数据安全和业务连续性的关键。onbar作为GBase 8s数据库的备份工具,需配合存储管理器使用,通过配置BAR_BSALIB_PATH等参数,实现数据的备份与恢复。本文详细介绍了onbar的配置、备份、恢复及监控流程,帮助数据库管理员构建高效的数据保护方案。
|
开发工具 git
Git 中的 fork、branch 和 clone
【8月更文挑战第27天】
1197 5
|
SQL 关系型数据库 MySQL
SQL索引构建与优化的神奇之处:如何用高效索引让你的数据检索飞起来?
【8月更文挑战第31天】在现代软件开发中,数据库索引对于提升查询性能至关重要。本文详细介绍了SQL索引的概念、构建方法及优化技巧,包括避免不必要的索引、使用复合索引等策略,并提供了实用的示例代码,如 `CREATE INDEX index_name ON table_name (column_name, another_column_name);`。通过遵循这些最佳实践,如了解查询模式和定期维护索引,可以大幅提高数据检索效率,从而增强应用程序的整体性能。
364 0
|
SQL 缓存 数据库
大型网站优化指南:打造流畅的在线体验
大型网站优化指南:打造流畅的在线体验
277 0
|
SQL Java 关系型数据库
【JAVA基础篇教学】第十六篇:Java连接和操作MySQL数据库
【JAVA基础篇教学】第十六篇:Java连接和操作MySQL数据库