前言

  • UIStepper是一个微调器,该控件的外观和UISwitch相似,但该控件上包含了+,-两个按钮,共同用于控制某个值的增、减。
  • 它继承了UIControl基类,默认属于活动控件,它可以与用户交互并激发相应的事件处理方法。

1、UIStepper的创建与使用

//
// ViewController.m
// UIStepperDemo
//
// Created by Apple on 16/5/18.
// Copyright © 2016年 Apple. All rights reserved.
// #import "ViewController.h" @interface ViewController () @end UITextField* tf1;
UITextField* tf2;
UITextField* tf3; @implementation ViewController - (void)viewDidLoad {
[super viewDidLoad];
// 创建第一个微调器
UIStepper* stepper1 = [[UIStepper alloc] initWithFrame:CGRectMake(50, 100, 300, 100)];
[stepper1 setMaximumValue:10];
// 设置tage,用于事件中区分微调器
[stepper1 setTag:1];
// 微调器绑定事件
[stepper1 addTarget:self action:@selector(valueChanged:) forControlEvents:UIControlEventValueChanged];
// 创建第一个UITextField
tf1 = [[UITextField alloc] initWithFrame:CGRectMake(200, 100, 100, 30)];
[tf1 setBorderStyle:UITextBorderStyleRoundedRect];
// 设置UITextField的text为第一个微调器的value
tf1.text = [NSString stringWithFormat:@"%g",stepper1.value]; // 创建第二个微调器
UIStepper* stepper2 = [[UIStepper alloc] initWithFrame:CGRectMake(50, 150, 300, 100)];
// 设置微调器的value为20
[stepper2 setValue:20];
// 设置微调器的步长变化为4
[stepper2 setStepValue:4];
// 设置tage,用于事件中区分微调器
[stepper2 setTag:2];
// 微调器绑定事件
[stepper2 addTarget:self action:@selector(valueChanged:) forControlEvents:UIControlEventValueChanged]; // 创建第二个UITextField
tf2 = [[UITextField alloc] initWithFrame:CGRectMake(200, 150, 100, 30)];
[tf2 setBorderStyle:UITextBorderStyleRoundedRect];
// 设置UITextField的text为第二个微调器的value
tf2.text = [NSString stringWithFormat:@"%g",stepper2.value]; // 创建第三个微调器
UIStepper* stepper3 = [[UIStepper alloc] initWithFrame:CGRectMake(50, 200, 300, 100)];
[stepper3 setMaximumValue:10];
// 设置加号按钮的图片
[stepper3 setIncrementImage:[UIImage imageNamed:@"plus.gif"] forState:UIControlStateNormal];
// 设置减号按钮的图片
[stepper3 setDecrementImage:[UIImage imageNamed:@"minus.gif"] forState:UIControlStateNormal];
// 设置颜色
[stepper3 setTintColor:[UIColor greenColor]];
// 设置tage,用于事件中区分微调器
[stepper3 setTag:3];
// 微调器绑定事件
[stepper3 addTarget:self action:@selector(valueChanged:) forControlEvents:UIControlEventValueChanged]; // 创建第三个UITextField
tf3 = [[UITextField alloc] initWithFrame:CGRectMake(200, 200, 100, 30)];
[tf3 setBorderStyle:UITextBorderStyleRoundedRect];
// 设置UITextField的text为第三个微调器的value
tf3.text = [NSString stringWithFormat:@"%g",stepper3.value]; // 添加控件
[self.view addSubview:stepper1];
[self.view addSubview:stepper2];
[self.view addSubview:stepper3];
[self.view addSubview:tf1];
[self.view addSubview:tf2];
[self.view addSubview:tf3]; } - (void) valueChanged: (id) sender {
NSLog(@"tag = %ld",(long)[sender tag]);
UIStepper* stepper = (UIStepper*)sender;
// 分别使用3个UITextField显示对应UIStepper的值
switch ([sender tag]) {
case 1:
tf1.text = [NSString stringWithFormat:@"%g",stepper.value];
break;
case 2:
tf2.text = [NSString stringWithFormat:@"%g",stepper.value];
break;
case 3:
tf3.text = [NSString stringWithFormat:@"%g",stepper.value];
break;
default:
break;
}
} @end

2、运行效果

UIStepper更加详细的图文理解的更多相关文章

  1. 详细的图文介绍如何利用XAMPP本地建站的环境配置教程

    原文:详细的图文介绍如何利用XAMPP本地建站的环境配置教程 WordPress 是一个简便快捷,用途广,人气旺的一个开源的博客建站程序.很有很多等您去发现. 简便快捷:在性能上易于操作.易于浏览: ...

  2. phpmyadmin详细的图文使用教程

    做网站用到服务器有很多站长应该都会用到数据库,那么phpmyadmin的使用也会是很多新手站长头大的问题,下面小编详细介绍一下phpmyadmin详细的图文使用教程. 方法/步骤     如何进入ph ...

  3. 01.1 Windows环境下JDK安装与环境变量配置详细的图文教程

    01.1 Windows环境下JDK安装与环境变量配置详细的图文教程 本节内容:JDK安装与环境变量配置 以下是详细步骤 一.准备工具: 1.JDK JDK 可以到官网下载 http://www.or ...

  4. Joomla详细安装图文教程

    Joomla 详细安装图文教程 第一步,配置网站信息 配置数据库:这里我选择MySQLi,可以根据自己的选择         安装-- 安装完成!

  5. 学习JUC源码(3)——Condition等待队列(源码分析结合图文理解)

    前言 在Java多线程中的wait/notify通信模式结尾就已经介绍过,Java线程之间有两种种等待/通知模式,在那篇博文中是利用Object监视器的方法(wait(),notify().notif ...

  6. ANSYS17.0详细安装图文教程

    ANSYS 17.0是ANSYS的最新版.下面以图文方式详细描述该软件的安装过程. 1 安装前的准备 安装之前需要做的准备工作: 在硬盘上腾出30G的空间来.(视安装模块的多少,完全安装可能需要二十多 ...

  7. java 多线程详细笔记(原理理解到全部使用)

    鸽了好久以后终于又更新了,看同学去实习都是先学源码然后修改之类,才发觉只是知道语法怎么用还远远不够,必须要深入理解以后不管是学习还是工作,才能举一反三,快速掌握. 目录 基础知识 进程与线程 线程原子 ...

  8. 详细的图文教程来实现 eclipse环境下如何配置tomcat,并且把项目部署到Tomcat服务器上

    很多初学,尤其自学JavaWeb的朋友首次在eclipse下配置tomcat时,总会有种难下手的感觉,在此,通过图文解说的方法,最直观的向大家演示一遍该配置过程. 第一部分:eclipse环境下如何配 ...

  9. Windows环境下JDK安装与环境变量配置详细的图文教程

    原文作者:souvc博文出处:http://www.cnblogs.com/liuhongfeng/p/4177568.html 本节内容:JDK安装与环境变量配置 以下是详细步骤 一.准备工具: 1 ...

随机推荐

  1. 正确设置Linux的ulimit值的方法

    学习swoole的时候有一个max_conn参数, max_conn 描述:服务器允许维持的最大TCP连接数 说明:设置此参数后,当服务器已有的连接数达到该值时,新的连接会被拒绝.另外,该参数的值不能 ...

  2. Linux查看物理CPU个数、核数,逻辑CPU个数

    学习swoole的时候,建议开启的worker进程数为cpu核数的1-4倍.于是就学习怎么查看CPU核数 # 查看物理CPU个数 cat /proc/cpuinfo| grep "physi ...

  3. Ext.window.Window

    var win = Ext.create("Ext.window.Window", { id: "myWin", title: "示例窗口" ...

  4. STM32 -- 故障记录

    1.串口2无法发送数据 1)串口2和串口1使用的时钟总线不同: usart1:RCC_APBPeriphClockCmd(RCC_APB2Periph_USART1,ENABLE); usart2:R ...

  5. [转载]网络虚拟化中的 offload 技术:LSO/LRO、GSO/GRO、TSO/UFO、VXLAN

    offload 现在,越来越多的网卡设备支持 offload 特性,来提升网络收/发性能.offload 是将本来该操作系统进行的一些数据包处理(如分片.重组等)放到网卡硬件中去做,降低系统 CPU ...

  6. Spring Boot自定义配置与加载

    Spring Boot自定义配置与加载 application.properties主要用来配置数据库连接.日志相关配置等.除了这些配置内容之外,还可以自定义一些配置项,如: my.config.ms ...

  7. java继承如何理解呢??

    总结:我把他弄的无语了.他是诺基亚公司的软件开发师,大学毕业就可以进那么好的公司.实力 package com.bc; //普通类 class yt { public void price() { S ...

  8. Dubbo实现RPC调用使用入门

    使用Dubbo进行远程调用实现服务交互,它支持多种协议,如Hessian.HTTP.RMI.Memcached.Redis.Thrift等等.由于Dubbo将这些协议的实现进行了封装了,无论是服务端( ...

  9. Jmeter 分布式压测及可能出现的问题;

    (注:master与slave机的jmeter版本必须保持一致) master机器上的准备工作如下: 1.先准备一个调试通过的下单接口: 2.找到jmeter的bin目录下的jmeter.proper ...

  10. laravel4 composer报错 d11wtq/boris v1.0.10 requires ext-pcntl

    laravel4 composer报错 d11wtq/boris v1.0.10 requires ext-pcntl laravel 4.2 用composer 安装任何包都会报这个错,通过谷歌找到 ...