• IOS:UI设计之UISlider相关基础


    UISlider能让用户简单直观的在一定范围内取一个值,一般常见在音量控制,播放进度,读取进度,完成进度等等上。

    IOS系统给定了UISlider特定的显示样式,当然,程序员也可以自定义UISlider样式。

    左图为IOS6系统环境下的显示样式;左图为IOS7系统环境下给定的显示样式。

    下面,开始由代码出发,介绍UISlider的属性和方法:

      UISlider *slider = [[UISlider alloc] initWithFrame:CGRectMake(x,y,w,h)];     //初始化方法,其中高度设置对于系统样式且无背景颜色时作用不明显,有背景颜色时,显示该控件实际大小,在自定义时,影响图片的高度。

      slider.maximumValue = 10;    //设置滑块能够滑到的最大

      slider.minmumValue = 0;      //设置滑块能够滑到的最小值

      slider.value = 5;         //设置滑块的初始值(注意应该先设置slider的最大值和最小值,再设置初始值;因为UISlider默认情况下,其范围为:0-1);

      slider.backgroundColor = [UIColor clearColor];     //设置背景颜色,此时无颜色

        //设置滑块左边和右边的颜色

      [slider setMaximumTrackTintColor:[UIColor redColor]];

      [slider setMinimumTrackTintColor:[UIColor greenColor]];

      [slider setThumbTintColor:[UIColor clearColor]];    //滑块透明

      [self.view addSubview:slider];    //添加到视图

    下面是自定义UISlider的方法:

      UIImage *stetchLeftTrack= [UIImage imageNamed:@"name1.png"];    //设置左轨道图片

      UIImage *stetchRightTrack = [UIImage imageNamed:@"name2.png"];    //设置右轨道图片

      UIImage *thumbImage = [UIImage imageNamed:@"name3.png"];      //设置滑块图片

      UISlider *slider = [[UISlider alloc] initWithFrame:CGRectMake(x,y,w,h)];

      slider.maximumValue = 10;

      slider.minmumValue = 0;

      slider.value = 5;

      slider.backgroundColor = [UIColor clearColor];

      [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];

      //事件:

    -(void)sliderValueChanged:(UISlider *)slider

    {

       NSLog(@"sliderValue:%.1f",slider.value);  //这是滑块滑动到不同位置时,获取相对应的值的方法

    }

    -(void)sliderDrageUp:(UISlider *)slider

    {

      //输入想要发生的事件

    }

    (可能学得比较浅,大家要是有补充可以留言,有问题的大家一起探讨下,可以私下联系:QQ790444804    微信:hgwchihuo

                                                    -------我是快乐的小尾巴`(*∩_∩*)′)

  • 相关阅读:
    详解 final 和 static
    详解 方法的覆盖 —— toString() 与 equals()的覆盖
    详解 继承(上)—— 工具的抽象与分层
    详解 继承(下)—— super关键字 与 多态
    Java 基础讲解
    矩阵 的实现
    C语言 贪吃蛇
    巨大数——三则运算(+、-、*)
    浅谈 循环数组
    人体对电流的反应
  • 原文地址:https://www.cnblogs.com/welcometheday/p/4481025.html
Copyright © 2020-2023  润新知