UI: UISlider 实现指定范围值的选择

允许用户用一个简单直观的界面来在一个范围内选择一个值。

现在在 viewDidLoad 方法中创建滑动条。在这段代码中,我们想要滑动条的滑块在 0 到 100 之间滑动,而且默认的位置为 50.

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    _mySlider = [[UISlider alloc]initWithFrame:CGRectMake(0, 0, 200, 23)];
    _mySlider.center = self.view.center;
    _mySlider.minimumValue = 0.0f;
    _mySlider.maximumValue = 100.0f;
    _mySlider.value = _mySlider.maximumValue/2.0;

    [self.view addSubview:_mySlider];
}

Value这个属性是可以读写的.如果你想要滑块用动画的方式移动到某个值,可以调用 slider 的 setValue:animated: 方法同时传递参数 YES 。

Slider 上的小滑块叫做 thumb。

如果你想要在 thumb 每次移动时都接收到一个事件的话,就必须用addTarget:action:forControlE vents:方法来将你的对象添加为 slider 的一个 target。

//thumb 每次移动时都接收到一个事件
    [_mySlider addTarget:self action:@selector(sliderValueChange:) forControlEvents:UIControlEventValueChanged];
- (void)sliderValueChange:(id)sender{
    NSLog(@"%f",_mySlider.value);
}

可能有时候你只想在用户手指放开 thumb 而且新的值以及设置好以后得到通知。这种情况下你必须把 slider 的 continuous 属性设置为 NO。当这个属性被设置为其默认值 YES 时,thumb 滑动时会连续调用 slider 的 target。

_mySlider.continuous = NO;

slider 的 thumb 可以显示不同的图 片。如果你想要修改 thumb 的图片的话,可以调用 setThumbImage:forState:方法。

该方法的第一个参数是图片,第二个参数有一下几种情况:

UIControlStateNormal
正常状态的 thumb,即用户没有点击 thumb
UIControlStateHighlighted
选中状态的 thumb,即用户点击 thumb 时显示的图片

[_mySlider setThumbImage:[UIImage imageNamed:@"ThumbNormal.png"] forState:UIControlStateNormal];
[_mySlider setThumbImage:[UIImage imageNamed:@"ThumbHighlighted.png"] forState:UIControlStateHighlighted];
时间: 2024-10-10 04:36:50

UI: UISlider 实现指定范围值的选择的相关文章

ASP.NET MVC搭建项目后台UI框架—8、将View中选择的数据行中的部分数据传入到Controller中

ASP.NET MVC搭建项目后台UI框架—1.后台主框架 ASP.NET MVC搭建项目后台UI框架—2.菜单特效 ASP.NET MVC搭建项目后台UI框架—3.面板折叠和展开 ASP.NET MVC搭建项目后台UI框架—4.tab多页签支持 ASP.NET MVC搭建项目后台UI框架—5.Demo演示Controller和View的交互 ASP.NET MVC搭建项目后台UI框架—6.客户管理(添加.修改.查询.分页) ASP.NET MVC搭建项目后台UI框架—7.统计报表 ASP.NE

编写高质量代码改善C#程序的157个建议[为泛型指定初始值、使用委托声明、使用Lambda替代方法和匿名方法]

前言 泛型并不是C#语言一开始就带有的特性,而是在FCL2.0之后实现的新功能.基于泛型,我们得以将类型参数化,以便更大范围地进行代码复用.同时,它减少了泛型类及泛型方法中的转型,确保了类型安全.委托本身是一种引用类型,它保存的也是托管堆中对象的引用,只不过这个引用比较特殊,它是对方法的引用.事件本身也是委托,它是委托组,C#中提供了关键字event来对事件进行特别区分.一旦我们开始编写稍微复杂的C#代码,就肯定离不开泛型.委托和事件.本章将针对这三个方面进行说明. 本文已更新至http://w

笔试算法题(09):查找指定和值的两个数 & 构造BST镜像树

出题:输入一个已经升序排序的数组和一个数字:要求在数组中查找两个数,这两个数的和正好等于输入的那个数字,输出任意一对数字就可以,要求时间复杂度是O(n): 分析:对于升序排序的数组{-i-j-k-m--},只有可能是i+m=j+k(j和k可能是同一个数),所以可以从两边往中间收缩而忽视其他交叉相加的情况: 解题: 1 void FindSumFactor(int *array, int length, int sum) { 2 int left=0, right=length-1; 3 whil

JavaScript基础 使用for循环遍历数组 并 查询 数组中是否存在指定的值

镇场诗: 清心感悟智慧语,不着世间名与利.学水处下纳百川,舍尽贡高我慢意. 学有小成返哺根,愿铸一良心博客.诚心于此写经验,愿见文者得启发.------------------------------------------ code: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=ut

[ jquery 选择器 :gt(index) ] 此方法选取匹配大于指定索引值的所有元素

此方法选取匹配大于指定索引值的所有元素:角标值从0开始计数 <!DOCTYPE html> <html lang='zh-cn'> <head> <title>Insert you title</title> <meta http-equiv='description' content='this is my page'> <meta http-equiv='keywords' content='keyword1,keyword

[ jquery 选择器 :lt(index) ] 此方法选取匹配小于指定索引值的所有元素

此方法选取匹配小于指定索引值的所有元素:从 0 开始计数 <!DOCTYPE html> <html lang='zh-cn'> <head> <title>Insert you title</title> <meta http-equiv='description' content='this is my page'> <meta http-equiv='keywords' content='keyword1,keyword2

bootstrap selectpicker 通过代码指定选中值 BootStrap selectpicker后台动态绑定数据 selectpicker 获取选中option的属性或者值

bootstrap-select使用 bootstrap selectpicker 通过代码指定选中值 $('#subjectno').selectpicker('val',(row.subjectno)); row.subjectno替换成你要指定的值,当然前提必须要在select已有的数据中 selectpicker 获取选中option的属性或者值 BootStrap selectpicker后台动态绑定数据

JavaSE8基础 String indexOf 正向 从指定索引值开始查找 字符在字符串中第一次出现的位置

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0)        code: package jizuiku.t00; public class Demo4 { public static void main(String[] args) { // 索引值 0123 String str = "abc01234543210cba"; char ch = '0'; Syst

C#获取json字符串指定的值

Newtonsoft.Json在json和对象之间转化是一个非常强大的工具. 对象转化json字符串 Newtonsoft.Json.JsonConvert.SerializeObject() json字符串转化为指定对象 Newtonsoft.Json.JsonConvert.DeserializeObject<>() json字符串直接获取指定元素值(类似XML) var jObject JObject.Parse(jsonstring); var time= jObject["