UI —— 计算器
#import <UIKit/UIKit.h>
@interface MyViewController :UIViewController
{
NSInteger _firstName;
NSInteger _calculator;
// 数字的计数器
NSInteger _buttonType;
// 计算符号计数器
}
@property (nonatomic,retain)
UITextField *inputField;
@end
#import "MyViewController.h"
@interface
MyViewController ()
@end
@implementation MyViewController
-(void)dealloc
{
[_inputField
release];
[superdealloc];
}
- (void)viewDidLoad {
[superviewDidLoad];
// Do any additional setup after loading the view.
//计算器的1 - 10个数字键
CGRect rect =
,,
, );
; i <
; i++) {
rect.;
NSString *s = [NSStringstringWithFormat:@"%d",
i];
UIButton *numButton = [UIButtonbuttonWithType:UIButtonTypeCustom];
[numButtonsetFrame:rect];
[numButton setBackgroundColor:[UIColorcyanColor]];
[numButton setTitle:sforState:UIControlStateNormal];
[self.viewaddSubview:numButton];
[numButton addTarget:selfaction:@selector(buttonClick:)forControlEvents:UIControlEventTouchUpInside];
}
CGRect textRect =
,
, , );
_inputField = [[UITextFieldalloc]
initWithFrame:textRect];
[_inputFieldsetKeyboardType:UIKeyboardTypeNamePhonePad];
[_inputFieldsetBackgroundColor:[UIColorgrayColor]];
[self.viewaddSubview:_inputField];
[_inputField
release];
textRect.;
textRect.;
UIButton *addButton = [UIButtonbuttonWithType:UIButtonTypeRoundedRect];
[addButtonsetFrame:textRect];
[addButton setBackgroundColor:[UIColorbrownColor]];
[addButton setTitle:@"="forState:UIControlStateNormal];
[self.viewaddSubview:addButton];
[addButton addTarget:selfaction:@selector(buttonEqual:)forControlEvents:UIControlEventTouchUpInside];
; j <
; j++) {
NSArray *symbolArray = [NSArrayarrayWithObjects:@"+",@"-",
@"*",@"/",
nil];
NSString *symbolString = [symbolArray
objectAtIndex:j];
textRect.;
UIButton *symbolButton = [UIButtonbuttonWithType:UIButtonTypeCustom];
[symbolButtonsetFrame:textRect];
[symbolButtonsetBackgroundColor:[UIColorgreenColor]];
[symbolButtonsetTitle:symbolString
forState:UIControlStateNormal];
[self.viewaddSubview:symbolButton];
[symbolButtonsetTag:j];
[symbolButton addTarget:selfaction:@selector(calculateSymbolButton:)forControlEvents:UIControlEventTouchUpInside];
}
textRect.;
UIButton *clearButton = [UIButtonbuttonWithType:UIButtonTypeCustom];
[clearButton setBackgroundColor:[UIColorpurpleColor]];
[clearButton setTitle:@"C"forState:UIControlStateNormal];
[clearButtonsetFrame:textRect];
[self.viewaddSubview:clearButton];
[clearButton addTarget:selfaction:@selector(clearButton:)forControlEvents:UIControlEventTouchUpInside];
}
- (void)buttonClick:(UIButton *)sender
{
NSString *inputString =
nil;
==
_calculator) {
inputString = [_inputField.textstringByAppendingString:sender.titleLabel.text];
}else{
inputString = sender.titleLabel.text;
}
_calculator =
;
[_inputFieldsetText:inputString];
}
- (void)calculateSymbolButton:(UIButton *)sender
{
//此处另一点小瑕疵,须要在推断一下
[selfbuttonEqual:nil];
_firstName = [_inputField.textintegerValue];
//保存输入的下一个数的形式
_calculator =
;
//
保存计算类型 + - / *(用tag更简单一点)
_buttonType = sender.tag;
}
- (void)clearButton:(UIButton *)sender
{
_firstName =
;
_calculator =
;
_buttonType =
;
_inputField.text =@"";
}
- (void)buttonEqual:(UIButton *)sender
{
NSInteger result;
switch (_buttonType) {
case
:
result =_firstName + [_inputField.textintegerValue];
break;
case
:
result =_firstName - [_inputField.textintegerValue];
break;
case
:
result =_firstName * [_inputField.textintegerValue];
break;
case
:
result =_firstName / [_inputField.textintegerValue];
break;
default:
break;
}
NSString *end = [NSStringstringWithFormat:@"%ld",
result];
_inputField.text = end;
}
版权声明:本文博主原创文章,博客,未经同意不得转载。
UI —— 计算器的更多相关文章
- Swing-布局管理器应用--WIN7上计算器的UI实现
学完了Swing布局管理器,为了加深理解我决定做一些UI的实现,那就从WIN7上的计算器开始吧!首先,我们来研究一下它的UI.该计算器的UI主要有3个,分别是标准型.科学型和程序员型,如下图所示. ...
- 【Android实验】UI设计-Android计算器
目录 实验目的 实验要求 实验过程 1. 界面设计 2. 功能设计 3. 运算处理 实验目的 自主完成一个简单APP的设计工作,综合应用已经学到的Android UI设计技巧,重点注意合理使用布局 实 ...
- OC中使用UI自己定义控件实现计算器的设计(版本号1简单的加减乘除,连加,连减,连除,连乘)
OC中使用UI自己定义控件实现计算器的设计(版本号1简单的加减乘除,连加.连减,连除,连乘) #import <UIKit/UIKit.h> @interface ViewControll ...
- AJ学IOS(01) UI之Hello World与加法计算器
不多说,AJ分享,必须精品 这两个一个是HelloWorld(左边) 另一个是 加法计算器(右边)的截图. 先运行第一个 程序看看效果 1.打开Xcode(没有哦mac系统的没有xcode的帮你们默哀 ...
- iOS UI基础-1.0加法计算器
1.打开Xcode,新建一个项目 2.Single View Application是最适合初学者的模板 3.填写该应用相关信息 4.搭建UI界面 项目创建完毕后,自动帮我们做了很多配置,也自动生成了 ...
- 寒城攻略:Listo 教你用 Swift 写IOS UI 项目计算器
之前总结过 Swift 的语言攻略,这里就不做赘述了,如今做一个实例计算器项目来介绍一下 Swift 的应用.(凝视已经全然.直接上代码) 先看一下效果图: 以下是详细的代码和解释: 分享快乐.开源中 ...
- 实现简单的计算器(设计UI)
要点说明: 1.一个textedit控件,其余全部是button控件,button布局方式:栅格布局(Grid layout) 2.对窗体的Title进行修改(默认是工程名) 3.在ui文件中设计的U ...
- UI事件 计算器界面
1.MainActivity.java package com.example.administrator.testapp2; import android.support.v7.app.AppCom ...
- UI 纯代码实现计算器
// MHTAppDelegate.h // TestCa // Copyright (c) 2014年 Summer. All rights reserved. #import <UIK ...
随机推荐
- Android中Menu的基本使用方法
一. 使用xml定义Menu 菜单资源文件必须放在res/menu文件夹中.菜单资源文件必须使用<menu>标签作为根节点.除了<menu>标签外,还有另外两个标签用于设置菜单 ...
- ActionBar本部分适用述评
http://note.youdao.com/share/?id=7f213cb64069bad221f4581507707294&type=note 因为把图片拿进来太麻烦,所以我给了一个直 ...
- [置顶] android系统功能调用大全
1.从google搜索内容 Intent intent = new Intent(); intent.setAction(Intent.ACTION_WEB_SEARCH); intent.pu ...
- 破解.net程序 编译和反编译方法
原文地址:http://www.cnblogs.com/li-peng/archive/2013/01/31/2886727.html 有好多.net程序有加密狗或者有验证,如果exe或dll没有做过 ...
- hdu1992(递推)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1992 题意:用1*2和2*1的小长方形铺垫4*W的方格有多少种方法. 分析:假如新加入1列,这列都竖着 ...
- java -D參数简化增加多个jar【简化设置classpath】
1.-D<name>=<value> set a system property 设置系统属性. java命令引入jar时能够-cp參数,但时-cp不能用通配符(多个jar时 ...
- 假设拦截WebView的错误和OS升级到4.4后链接不能点击的问题
android OS升级到4.4之后,有些WebView的链接我们点击无效了,以下能够解决当中的某一种情况: webviewClient的shouldOverrideUrlLoading方法必须返回f ...
- SE 2014年4月12日
BGP基础实验 拓扑 步骤: 1. 完成基本的配置 2. 按照需求自治系统AS 100 全网运行OSPF 单区域 3. 完成BGP基本配置 [RT2]bgp 100 [RT2-bgp]peer 67. ...
- Scala的XML操作
8. XML 8.1. 生成 Scala原生支持xml,就如同Java支持String一样,这就让生成xml和xhtml非常easy优雅: val name = "james ...
- JAVA 读取图片储存至本地
需求:serlvet经过处理通过报表工具返回一张报表图(柱状图 折线图). 现在需要把这个图存储到本地 以便随时查看 // 构造URL URL url = new URL(endStr); // 打开 ...