zoukankan      html  css  js  c++  java
  • 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

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

  • 相关阅读:
    Call to a member function assign() on a non-object;thinkphp中报错
    jquery或js 获取url参数
    使Sublime Text支持除UTF8外多种编码
    Sublime Text 3 安装Package Control
    jquery zoom jquery放大镜特效
    金币阵列问题
    goole进不去?
    算法分析习题(1)
    C /C ++中结构体的定义
    linux .zip 解压命令集
  • 原文地址:https://www.cnblogs.com/welcometheday/p/4481025.html
Copyright © 2011-2022 走看看