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

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

  • 相关阅读:
    Gretna2.0 使用过程中遇到的问题
    在外星人电脑上安装windows10和ubuntu16.04双系统小记
    Mac OS下PHP开发环境的搭建——基于XAMPP和IntelliJ IDEA
    在Kali上安装打印机
    Rails中关联数据表的添加操作(嵌套表单)
    痛苦的人生——JRuby on Rails的开发与部署小记
    Word技巧杂记(二)——批量修改修订格式并接受
    Ruby学习(三)——类与对象(1)
    Ruby学习笔记(二)——从管道读取数据
    Word技巧杂记(一)——去掉页眉上方的黑线
  • 原文地址:https://www.cnblogs.com/welcometheday/p/4481025.html
Copyright © 2011-2022 走看看