OC中使用UI自己定义控件实现计算器的设计(版本号1简单的加减乘除,连加。连减,连除,连乘)
#import <UIKit/UIKit.h>

@interface ViewController : UIViewController<UIApplicationDelegate>

{
float _operator1;
float _operator2;
float _result;
}
@end
#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
[super viewDidLoad];
UITextField * textFied1 = [[UITextField alloc]initWithFrame:CGRectMake(10, 30, 300 ,50)];
textFied1.borderStyle = UITextBorderStyleLine;
textFied1.backgroundColor = [UIColor redColor];
[self.view addSubview:textFied1];
textFied1.clearButtonMode = UITextFieldViewModeAlways;
textFied1.tag = 007; UIButton * btn1 = [UIButton buttonWithType:UIButtonTypeCustom];
btn1.Frame=CGRectMake(10, 90, 70, 70);
btn1.backgroundColor = [UIColor orangeColor];
[self.view addSubview:btn1];
[btn1 setTitle:@"7" forState:UIControlStateNormal]; [btn1 addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];
btn1.tag = 7; UIButton * btn2 = [UIButton buttonWithType:UIButtonTypeCustom];
btn2.Frame=CGRectMake(85, 90, 70, 70);
btn2.backgroundColor = [UIColor orangeColor];
[self.view addSubview:btn2];
[btn2 setTitle:@"8" forState:UIControlStateNormal];
btn2.tag = 8; [btn2 addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside]; UIButton * btn3 = [UIButton buttonWithType:UIButtonTypeCustom];
btn3.Frame=CGRectMake(160, 90, 70, 70);
btn3.backgroundColor = [UIColor orangeColor];
[self.view addSubview:btn3];
[btn3 setTitle:@"9" forState:UIControlStateNormal];
btn3.tag = 9; [btn3 addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside]; UIButton * btn4 = [UIButton buttonWithType:UIButtonTypeCustom];
btn4.Frame=CGRectMake(235, 90, 70, 70);
btn4.backgroundColor = [UIColor orangeColor];
[self.view addSubview:btn4];
[btn4 setTitle:@"/" forState:UIControlStateNormal];
btn4.tag = 13; [btn4 addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside]; UIButton * btn5 = [UIButton buttonWithType:UIButtonTypeCustom];
btn5.Frame=CGRectMake(10, 165, 70, 70);
btn5.backgroundColor = [UIColor orangeColor];
[self.view addSubview:btn5];
[btn5 setTitle:@"4" forState:UIControlStateNormal];
btn5.tag = 4; [btn5 addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside]; UIButton * btn6 = [UIButton buttonWithType:UIButtonTypeCustom];
btn6.Frame=CGRectMake(85, 165, 70, 70);
btn6.backgroundColor = [UIColor orangeColor];
[self.view addSubview:btn6];
[btn6 setTitle:@"5" forState:UIControlStateNormal];
btn6.tag = 5;
[btn6 addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside]; UIButton * btn7 = [UIButton buttonWithType:UIButtonTypeCustom];
btn7.Frame=CGRectMake(160, 165, 70, 70);
btn7.backgroundColor = [UIColor orangeColor];
[self.view addSubview:btn7];
[btn7 setTitle:@"6" forState:UIControlStateNormal];
btn7.tag = 6;
[btn7 addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside]; UIButton * btn8 = [UIButton buttonWithType:UIButtonTypeCustom];
btn8.Frame=CGRectMake(235, 165, 70, 70);
btn8.backgroundColor = [UIColor orangeColor];
[self.view addSubview:btn8];
[btn8 setTitle:@"X" forState:UIControlStateNormal];
btn8.tag = 12;
[btn8 addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside]; UIButton * btn9 = [UIButton buttonWithType:UIButtonTypeCustom];
btn9.Frame=CGRectMake(10, 240, 70, 70);
btn9.backgroundColor = [UIColor orangeColor];
[self.view addSubview:btn9];
[btn9 setTitle:@"1" forState:UIControlStateNormal];
btn9.tag = 1;
[btn9 addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside]; UIButton * btn10 = [UIButton buttonWithType:UIButtonTypeCustom];
btn10.Frame=CGRectMake(85, 240, 70, 70);
btn10.backgroundColor = [UIColor orangeColor];
[self.view addSubview:btn10];
[btn10 setTitle:@"2" forState:UIControlStateNormal];
btn10.tag = 2;
[btn10 addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside]; UIButton * btn11 = [UIButton buttonWithType:UIButtonTypeCustom];
btn11.Frame=CGRectMake(160, 240, 70, 70);
btn11.backgroundColor = [UIColor orangeColor];
[self.view addSubview:btn11];
[btn11 setTitle:@"3" forState:UIControlStateNormal];
btn11.tag = 3;
[btn11 addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside]; UIButton * btn12 = [UIButton buttonWithType:UIButtonTypeCustom];
btn12.Frame=CGRectMake(235, 240, 70, 70);
btn12.backgroundColor = [UIColor orangeColor];
[self.view addSubview:btn12];
[btn12 setTitle:@"-" forState:UIControlStateNormal];
btn12.tag = 11;
[btn12 addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside]; UIButton * btn13 = [UIButton buttonWithType:UIButtonTypeCustom];
btn13.Frame=CGRectMake(10, 315, 70, 70);
btn13.backgroundColor = [UIColor orangeColor];
[self.view addSubview:btn13];
[btn13 setTitle:@"0" forState:UIControlStateNormal];
btn13.tag = 0;
[btn13 addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside]; UIButton * btn14 = [UIButton buttonWithType:UIButtonTypeCustom];
btn14.Frame=CGRectMake(85, 315, 145, 70);
btn14.backgroundColor = [UIColor orangeColor];
[self.view addSubview:btn14];
[btn14 setTitle:@"=" forState:UIControlStateNormal];
btn14.tag = 14;
[btn14 addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside]; UIButton * btn15 = [UIButton buttonWithType:UIButtonTypeCustom];
btn15.Frame=CGRectMake(235, 315, 70, 70);
btn15.backgroundColor = [UIColor orangeColor];
[self.view addSubview:btn15];
[btn15 setTitle:@"+" forState:UIControlStateNormal];
btn15.tag = 10;
[btn15 addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside]; // Do any additional setup after loading the view, typically from a nib.
} //enum calCul
//{
// add,
// sub,
// mul,
// mod
//};
//
//typedef enum calCul calCul;
int count; -(void)btnClick:(UIButton *)btn
{
NSString * str = [[NSString alloc]init];
if (btn.tag == 0) {
UITextField * field = ( UITextField * )[self.view viewWithTag:007];
str = @"0";
//_operator1 = 0; field.text = str;
}
else if(btn.tag==1)
{
UITextField * field = ( UITextField * )[self.view viewWithTag:007];
str = @"1";
//_operator2 = 1;
field.text = str;
}
else if(btn.tag==2)
{
UITextField * field = ( UITextField * )[self.view viewWithTag:007];
str = @"2";
field.text = str;
}
else if(btn.tag==3)
{
UITextField * field = ( UITextField * )[self.view viewWithTag:007];
str = @"3";
field.text = str;
}
else if(btn.tag==4)
{
UITextField * field = ( UITextField * )[self.view viewWithTag:007];
str = @"4";
field.text = str;
}
else if(btn.tag==5)
{
UITextField * field = ( UITextField * )[self.view viewWithTag:007];
str = @"5";
field.text = str;
}
else if(btn.tag==6)
{
UITextField * field = ( UITextField * )[self.view viewWithTag:007];
str = @"6";
field.text = str;
}
else if(btn.tag==7)
{
UITextField * field = ( UITextField * )[self.view viewWithTag:007];
str = @"7";
field.text = str;
} else if(btn.tag==8)
{
UITextField * field = ( UITextField * )[self.view viewWithTag:007];
str = @"8";
field.text = str;
}
else if(btn.tag==9)
{
UITextField * field = ( UITextField * )[self.view viewWithTag:007];
str = @"9";
field.text = str;
}
else if(btn.tag==10)
{
count = 1;
UITextField * field = ( UITextField * )[self.view viewWithTag:007];
//str = @"+";
str = field.text;
//_result = _operator1;
_operator1 = [str doubleValue]; //str = [[NSString alloc]initWithFormat:@"%.2f",_result];
field.text = str;
}
else if(btn.tag==11)
{
count = 2;
UITextField * field = ( UITextField * )[self.view viewWithTag:007];
//str = @"-";
//_result = _operator1 + _operator2;
str = field.text;
_operator1 = [str doubleValue];
field.text = str;
}
else if(btn.tag==12)
{
count = 3;
UITextField * field = ( UITextField * )[self.view viewWithTag:007];
//str = @"*";
str = field.text;
_operator1 = [str doubleValue];
field.text = str;
}
else if(btn.tag==13)
{
count = 4;
UITextField * field = ( UITextField * )[self.view viewWithTag:007];
//str = @"/";
str = field.text;
_operator1 = [str doubleValue];
field.text = str;
}
else if(btn.tag==14)
{
UITextField * field = ( UITextField * )[self.view viewWithTag:007];
str = @"=";
str = field.text;
_operator2 = [str doubleValue];
if (count==1) {
_result = _operator1 + _operator2;
}
else if(count == 2)
{
_result = _operator1 - _operator2;
}
else if(count == 3)
{
_result = _operator1 * _operator2;
}
else if(count==4)
{
_result = _operator1 / _operator2;
}
str = [[NSString alloc]initWithFormat:@"%.6f",_result];
field.text = str;
}
}
-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
return YES;
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
} @end

OC中使用UI自己定义控件实现计算器的设计(版本号1简单的加减乘除,连加,连减,连除,连乘)的更多相关文章

  1. duilib中加入自己定义控件之后怎么可以在xml文件里配置使用

    加入自己定义控件可能有两种不同的情况: 1.  在duilib库中加入的自己定义控件. 2.  在我们的应用程序中自己重写了一个控件. 以下開始解说不同的情况下怎么才干支持在xml文件配置控件: 1. ...

  2. android 自己定义控件

    Android自己定义View实现非常easy 继承View,重写构造函数.onDraw.(onMeasure)等函数. 假设自己定义的View须要有自己定义的属性.须要在values下建立attrs ...

  3. Android 自己定义控件开发入门(二)

    上一次我们讲了一堆实现自己定义控件的理论基础.列举了View类一些能够重写的方法,我们对这些方法的重写是我们继承View类来派生自己定义控件的关键 我通过一个最简单的样例给大家展示了这一个过程,不管是 ...

  4. git-osc自己定义控件之:CircleImageView

    git-osc自己定义控件之:CircleImageView 一.CircleImageView的使用 在项目中能够发现,用户的头像都是圆形的.感觉非常好奇,昨天最终发现了,原来是自定了一个Image ...

  5. Android中如何利用attrs和styles定义控件

    一直有个问题就是,Android中是如何通过布局文件,就能实现控件效果的不同呢?比如在布局文件中,我设置了一个TextView,给它设置了 textColor,它就能够改变这个TextView的文本的 ...

  6. Android开发——fragment中数据传递与刷新UI(更改控件)

    数据传递: 1.通过数据库进行数据的传递 如在fragment中将数据保存在数据库中,之后其他的fragment或者activity直接读取数据库中的数据,数据库使用还算简单,这里就不多说,建议使用l ...

  7. 关于如何在 Unity 的 UI 菜单中默认创建出的控件 Raycast Target 属性默认为 false

    关于如何在 Unity 的 UI 菜单中默认创建出的控件 Raycast Target 属性默认为 false 我们在 Unity 中通过 UI 菜单创建的各种控件,比如 Text, Image 等, ...

  8. qt 在ui界面添加控件后在cpp文件中无法调用?

    问题:qt 在ui界面添加控件后在cpp文件中无法调用? 解决方法:在build选项中选择“重新build项目”,再次在cpp中调用添加的控件发现可以调用了. 还有一种情况导致添加控件后无法调用,就是 ...

  9. 背水一战 Windows 10 (7) - 控件 UI: VisualState, VisualStateManager, 控件的默认 UI

    [源码下载] 背水一战 Windows 10 (7) - 控件 UI: VisualState, VisualStateManager, 控件的默认 UI 作者:webabcd 介绍背水一战 Wind ...

随机推荐

  1. golang——(strings包)常用字符串操作函数

    (1)func HasPrefix(s, prefix string) bool 判断字符串s是否有前缀字符串prefix: (2)func HasSuffix(s, suffix string) b ...

  2. 网易UI自动化测试工具Airtest中导入air文件中的方法

    最近看了一下网易的Airtest ,UI测试工具,写了一些后在导入其他air文件中的.py文件,卡了一下,现在博客中纪录一下导入其他air文件的方式: 在Airtest 测试工具中,导入其他air文件 ...

  3. JS通过ajax + 多列布局 + 自动加载来实现瀑布流效果

    Ajax 说明:本文效果是无限加载的,意思就是你一直滚动就会一直加载图片出现,通过鼠标滚动距离来判断的,所以不是说的那种加载一次就停了的那种,那种demo下次我会再做一次 css部分用的是html5+ ...

  4. golang struct里面的字段,或者slice排序

    accounts := []users.Account{}Admin.DB.Preload("CurrencyObj").Where("member_id = ?&quo ...

  5. POJ 3114 Tarjan+Dijkstra

    题意: 间谍在战争期间想要传递一份谍报回国,谍报可以在邮局之间传递,但这种传递是单向的,并且会少耗一些时间.但是如果两个邮局在同一个国家的话,那么谍报在这两个邮局之间传递是不消耗时间的.如果几个邮局发 ...

  6. 【原创】.Net 微信 JS-SDK图片、语音上传接口的实现(MVC)-(一 、上传图片)

    前段时间在做一个微信的项目,遇到了一个上传图片的问题,花了一下午,解决了这个问题,然后把总结出来的代码,分享了出来. 最近又有一个图片+语音的功能, 更是蛋疼, 本次采用的不是File文件上传,然后转 ...

  7. 浅谈html运行原理

    浅谈HTML运行原理,所谓的HTML简单的来说就是一个网页,虽然第一节就讲html原理可能大家会听不懂,就当是给一个初步印象把,至少大概知道一个网页的运行流程是怎样的,下面上一张图: 大致的一个htm ...

  8. 修改Switch 的颜色

    1:效果图 2:布局 <Switch android:id="@+id/switch_bg" style="@style/switchStyle" and ...

  9. VMware中linux安装jdk

    首先安装linux系统 如何将jdk安装包复制到linux中不做概述,可以使用xftp工具,或者Xshell,或者其他方式. 1.下载jdk包:本章使用的为后缀为tar.gz的文件(不需要安装),如j ...

  10. 【SQL】结构化查询语言

    一:数据查询语言(DQL:Data Query Language): 其语句,也称为“数据检索语句”,用以从表中获得数据,确定数据怎样在应用程序给出.保留字SELECT是DQL(也是所有SQL)用得最 ...