IOS控件:长度单位换算(UITextField,IBAction,委托事件touchesBegan)
#import <UIKit/UIKit.h> @interface demo7_dayViewController : UIViewController {
IBOutlet UITextField *chi; // 尺
IBOutlet UITextField *meter; // 米
IBOutlet UITextField *feet; // 英尺
} // 此处 对每个文本框声明程序属性
@property (nonatomic, retain) UITextField *chi;
@property (nonatomic, retain) UITextField *meter;
@property (nonatomic, retain) UITextField *feet; -(IBAction)reset; @end
#import "demo7_dayViewController.h" @interface demo7_dayViewController () @end @implementation demo7_dayViewController // 本指令告诉编译器去合成所需的“文本框”控件的存储器方法
@synthesize chi, feet, meter; // 构建重置文本框的长度单位数值的按钮方法
-(IBAction)reset {
chi.text = @"3.0003"; // 尺
meter.text = @""; // 米
feet.text = @"3.2808"; // 英尺
} // 捕获手指的触摸事件方法,触摸开始时会调用touchesBegan
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
// 建立视图触摸“touch”对象定制所有事件中的任何触摸对象
UITouch *touch = [[event allTouches] anyObject];
// 当手指在屏幕的触摸次数>=1次
if (touch.tapCount > ) {
// 隐藏文本框输入时的键盘
[chi resignFirstResponder];
[meter resignFirstResponder];
[feet resignFirstResponder];
}
} // 当点击return返回键时,键盘自动隐藏,返回单位转换计算结果
-(BOOL)textFieldShouldReturn:(UITextField*)textField {
if (textField == chi) {
[chi resignFirstResponder];
// 建立浮点变量,计算后转换成“米”
double m = [chi.text doubleValue]/3.003;
// 建立浮点变量,计算后转换成“英尺”
double f = m * 3.2808; // 把字符类型字符按固定格式定制给对象,"%.4f"的位置将显示小数点后4位浮点变量。
meter.text = [[NSString alloc]initWithFormat:@"%.4f", m];
feet.text = [[NSString alloc]initWithFormat:@"%.4f", f]; }
if (textField == meter) {
[meter resignFirstResponder];
double c = [meter.text doubleValue] * 3.003;
double f = [meter.text doubleValue] * 3.2808;
chi.text = [[NSString alloc]initWithFormat:@"%.4f", c];
feet.text = [[NSString alloc]initWithFormat:@"%.4f", f];
}
if (textField == feet) {
[feet resignFirstResponder];
double m = [feet.text doubleValue]/3.2808;
double c = m * 3.003;
meter.text = [[NSString alloc]initWithFormat:@"%.4f", m];
chi.text = [[NSString alloc]initWithFormat:@"%.4f", c];
} return YES;
} //- (void)viewDidLoad
//{
// [super viewDidLoad];
// // Do any additional setup after loading the view, typically from a nib.
//} // 释放可用内存供给应用程序,并提早发出警告提示
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
} // 执行内存清理工作
-(void)dealloc{
[chi release];
[meter release];
[feet release];
[super dealloc];
} @end
IOS控件:长度单位换算(UITextField,IBAction,委托事件touchesBegan)的更多相关文章
- UIControl IOS控件编程 及UITextField的讲解
第一部分 UIKit提供了一组控件:UISwitch开关.UIButton按钮.UISegmentedControl分段控件.UISlider滑块.UITextField文本字段控件.UIPageCo ...
- 如何设计一个 iOS 控件?(iOS 控件完全解析) (转)
前言 一个控件从外在特征来说,主要是封装这几点: 交互方式 显示样式 数据使用 对外在特征的封装,能让我们在多种环境下达到 PM 对产品的要求,并且提到代码复用率,使维护工作保持在一个相对较小的范围内 ...
- 如何设计一个 iOS 控件?(iOS 控件完全解析)
前言 一个控件从外在特征来说,主要是封装这几点: 交互方式 显示样式 数据使用 对外在特征的封装,能让我们在多种环境下达到 PM 对产品的要求,并且提到代码复用率,使维护工作保持在一个相对较小的范围内 ...
- 设计一个 iOS 控件
转载自:http://blog.csdn.net/zhangao0086/article/details/45622875 代码的等级:可编译.可运行.可测试.可读.可维护.可复用 前言 一个控件从外 ...
- 基本控件文档-UITextField属性
CHENYILONG Blog 基本控件文档-UITextField属性 Fullscreen UITextField属性技术博客http://www.cnblogs.com/ChenYilong ...
- 基本控件文档-UITextField属性---iOS-Apple苹果官方文档翻译
本系列所有开发文档翻译链接地址:iOS7开发-Apple苹果iPhone开发Xcode官方文档翻译PDF下载地址 //转载请注明出处--本文永久链接:http://www.cnblogs.com/Ch ...
- iOS控件之UIResponder类
iOS控件之UIResponder类 在iOS中UIResponder类是专门用来响应用户的操作处理各种事件的,我们知道UIApplication.UIView.UIViewController这几个 ...
- iOS控件——UIView的viewWithTag:(int)findTag方法描述
UIView拥有一个viewWithTag:(int)findTag方法,调用方式为[MyView viewWithTag:整形数字]该方法返回tag == findTag的控件.ios控件中允许多个 ...
- ios学习笔记图片+图片解释(c语言 oc语言 ios控件 ios小项目 ios小功能 swift都有而且笔记完整喔)
下面是目录其中ios文件夹包括了大部分ios控件的介绍和演示,swift的时完整版,可以学习完swift(这个看的是swift刚出来一周的视频截图,可能有点赶,但是完整),c语言和oc语言的也可以完整 ...
随机推荐
- TCP/IP协议族-----21、文件传送:FTP和TFTP
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaGVrZXdhbmd6aQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...
- spring 代理 演变过程
动态代理演变 拿JDBC开事务举例子 最初 写代码 每个CUD 都需要开启事务 所以出现很多累赘代码 因此提出静态代理的构想,把事务交给后台做,程序员只需要 调用update(sql)就行了,upda ...
- 两周赚100万 在Google Play做对了什么
http://tech.it168.com/a2013/0301/1457/000001457913_all.shtml
- Redis Key过期通知
概述 键空间通知使得客户端可以通过订阅频道或模式, 来接收那些以某种方式改动了 Redis 数据集的事件.如Redis数据库中键的过期事件也是通过订阅功能实现.本文主要基于Azure PaaS Red ...
- NPOI(2.1.3)向excel中插入图片,xls文档图片插入成功,xlsx文档图片插入失败
众所周知,NPOI对xls和xlsx两个版本的excel文档的操作并没有一个统一的支持, 程序若想兼容这两个版本的操作,必须根据excel版本分别去调用HSSF和XSSF这两套操作库, 之前一直不明白 ...
- android 签名、混淆打包
1.android 签名 使用eclipse导出带签名的apk,最简单的方式. 最后一步finish ,就能导出一个xxx.keystore的文件了. 下次再发布新版本的时候,使用这个生成的签名继续使 ...
- js的常见函数
var n=0.0145; n.toFixed(2);//保留两位小数 n.lastIndexOf('a');//检索字符串最后出现的位置 n.indexof("h");//检索字 ...
- MVVMLight
MVVMLight源码分析之消息机制和ViewModelBase http://www.cnblogs.com/facingwaller/archive/2010/11/06/1870608.html ...
- mybatis中分页查询
1 如果在查询方法中有多个参数,可以使用map对象将所有数据都存储进去.比如分页查询,需要用到两个参数,可以将这两个参数包装到map中. 例子:分页查询 dao层方法 public List<S ...
- linux学习笔记30--命令at和crontab
在windows系统中,windows提供了计划任务这一功能,在控制面板 -> 性能与维护 -> 任务计划, 它的功能就是安排自动运行的任务. 通过'添加任务计划'的一步步引导,则可建立一 ...