前言

  • 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. Windows Server 2008 R2换SID要注意

    今天刚装Windows2008R2,准备做实验.同样,我对虚拟机采用了母盘和差异磁盘.在新建好的虚拟机上使用NewSID执行更新SID操作时,一切正常,但当更新完并重启进入系统后,竟然蓝屏了.   原 ...

  2. JavaScript,Dom,jQuery

    JavaScript JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript 语言的规则编写相应代码,浏览器可以解释出相应的处理. 注 ...

  3. Python运行错误解释

    BaseException 所有异常的基类 SystemExit 解释器请求退出 KeyboardInterrupt 用户中断执行(通常是输入^C) Exception 常规错误的基类 StopIte ...

  4. 转:三思!大规模MySQL运维陷阱之基于MyCat的伪分布式架构

    在微信公众号看到一篇关于mycat的文章,觉得分析的很不错,给大家分享一下 三思!大规模MySQL运维陷阱之基于MyCat的伪分布式架构 原文链接:https://mp.weixin.qq.com/s ...

  5. docker 端口映射iptables: No chain/target/match by that name错误解决方法

    pkill docker iptables -t nat -F ifconfig docker0 down brctl delbr docker0 service docker restart

  6. C Primer Plus学习笔记(七)- 字符输入/输出和输入验证

    单字符 I/O:getchar() 和 putchar() getchar() 和 putchar() 每次只处理一个字符 getchar() 和 putchar() 都不是真正的函数,它们被定义为供 ...

  7. SetConsoleCtrlHandler演示

    #include "stdafx.h"#include <Windows.h> static BOOL WINAPI Handler(DWORD cntrlEvent) ...

  8. HDLM工具介绍

    HDLM提供了以下一些工具,以方便HDLM多路径管理. 1. dlmgetras hdlm信息收集工具,用来收集hdlm相关的各种日志.trace.配置等文件,以方便进行hdlm故障分析. 命令格式 ...

  9. 记一次完整的android源码截屏事件的捕获<标记砖>

    http://blog.csdn.net/buptgshengod/article/details/19911909?utm_source=tuicool&utm_medium=referra ...

  10. 使用ffmpeg合并视频

    命令: ffmpeg -i concat:"1.avi|2.avi" -vcodec copy -acodec copy "3.avi" ffmpeg下载:ht ...