UIStepper更加详细的图文理解
前言
- 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更加详细的图文理解的更多相关文章
- 详细的图文介绍如何利用XAMPP本地建站的环境配置教程
原文:详细的图文介绍如何利用XAMPP本地建站的环境配置教程 WordPress 是一个简便快捷,用途广,人气旺的一个开源的博客建站程序.很有很多等您去发现. 简便快捷:在性能上易于操作.易于浏览: ...
- phpmyadmin详细的图文使用教程
做网站用到服务器有很多站长应该都会用到数据库,那么phpmyadmin的使用也会是很多新手站长头大的问题,下面小编详细介绍一下phpmyadmin详细的图文使用教程. 方法/步骤 如何进入ph ...
- 01.1 Windows环境下JDK安装与环境变量配置详细的图文教程
01.1 Windows环境下JDK安装与环境变量配置详细的图文教程 本节内容:JDK安装与环境变量配置 以下是详细步骤 一.准备工具: 1.JDK JDK 可以到官网下载 http://www.or ...
- Joomla详细安装图文教程
Joomla 详细安装图文教程 第一步,配置网站信息 配置数据库:这里我选择MySQLi,可以根据自己的选择 安装-- 安装完成!
- 学习JUC源码(3)——Condition等待队列(源码分析结合图文理解)
前言 在Java多线程中的wait/notify通信模式结尾就已经介绍过,Java线程之间有两种种等待/通知模式,在那篇博文中是利用Object监视器的方法(wait(),notify().notif ...
- ANSYS17.0详细安装图文教程
ANSYS 17.0是ANSYS的最新版.下面以图文方式详细描述该软件的安装过程. 1 安装前的准备 安装之前需要做的准备工作: 在硬盘上腾出30G的空间来.(视安装模块的多少,完全安装可能需要二十多 ...
- java 多线程详细笔记(原理理解到全部使用)
鸽了好久以后终于又更新了,看同学去实习都是先学源码然后修改之类,才发觉只是知道语法怎么用还远远不够,必须要深入理解以后不管是学习还是工作,才能举一反三,快速掌握. 目录 基础知识 进程与线程 线程原子 ...
- 详细的图文教程来实现 eclipse环境下如何配置tomcat,并且把项目部署到Tomcat服务器上
很多初学,尤其自学JavaWeb的朋友首次在eclipse下配置tomcat时,总会有种难下手的感觉,在此,通过图文解说的方法,最直观的向大家演示一遍该配置过程. 第一部分:eclipse环境下如何配 ...
- Windows环境下JDK安装与环境变量配置详细的图文教程
原文作者:souvc博文出处:http://www.cnblogs.com/liuhongfeng/p/4177568.html 本节内容:JDK安装与环境变量配置 以下是详细步骤 一.准备工具: 1 ...
随机推荐
- redis client API-----------python
想知道redis针对各种编程语言推荐的接口API实现,请参考http://redis.io/clients/ 选择python语言,则使用https://github.com/andymccurdy/ ...
- Azure Blob存储更改缓存时间
Azure的Blob存储可以作为Http的服务来使用.很多客户已经把Blob作为图片存储的服务,这样稍作代码的修改,解决了图片服务器带宽.性能等多种问题. 但同时问题也出现了:在传统Http的服务中很 ...
- python startswith与endswith
如果你要用python匹配字符串的开头或末尾是否包含一个字符串,就可以用startswith,和endswith比如:content = 'ilovepython'如果字符串content以ilove ...
- Canvas 与 SVG 的比较
Canvas:<canvas> 标签定义图形(只是图形容器),比如图表和其他图像,您必须使用脚本 (通常是JavaScript)来绘制图形.默认情况下 <canvas> 元素没 ...
- 50 states of America
美国州名 州名英文 州名音标 简写 首府 首府 阿拉巴马州 Alabama [ˌæləˈbæmə] AL 蒙哥马利 Montgomery[mənt'gʌməri] 阿拉斯加州 Alaska [ ...
- Python类(六)-静态方法、类方法、属性方法
静态方法 通过@staticmethod来定义,静态方法在类中,但在静态方法里访问不了类和实例中的属性,但静态方法需要类来调用 # -*- coding:utf-8 -*- __author__ = ...
- 如何修改AWR的retention,interval
检查AWR当前设置: SQL> select * from dba_hist_wr_control; DBID SNAP_INTERVAL RETENTION TOPNSQL --------- ...
- vsftpd 被动模式与主动模式
vsftpd 被动模式与主动模式 VSFTP文件与目录/usr/sbin/vsftp vsftp的主程序/etc/rc.d/init.d/vsftp vsftp的启动脚本/etc/vsftpd/vsf ...
- Delphi 转圈 原型进度条 AniIndicator 及线程配合使用
Delphi FMX 转圈 原型进度条 progress AniIndicator TAniIndicator TFloatAnimation VCL下也有转圈菊花进度条 TActivityIndic ...
- Tiny4412 u-boot分析(2)u-boot启动流程
从大方面来说,u-boot的启动分成两个阶段,第一个阶段主要的职责是准备初始化的环境,主要有以下几点 ①设置异常向量表 ②把CPU的工作模式设置为SVC32模式 ③关闭中断.MMU和cache ④关闭 ...