1. OC中使用UI自己定义控件实现计算器的设计(版本号1简单的加减乘除,连加。连减,连除,连乘)
  1. #import <UIKit/UIKit.h>
  2.  
  3. @interface ViewController : UIViewController<UIApplicationDelegate>
  4.  
  5. {
  6. float _operator1;
  7. float _operator2;
  8. float _result;
  9. }
  10. @end
  1. #import "ViewController.h"
  2.  
  3. @interface ViewController ()
  4.  
  5. @end
  6.  
  7. @implementation ViewController
  8.  
  9. - (void)viewDidLoad {
  10. [super viewDidLoad];
  11. UITextField * textFied1 = [[UITextField alloc]initWithFrame:CGRectMake(10, 30, 300 ,50)];
  12. textFied1.borderStyle = UITextBorderStyleLine;
  13. textFied1.backgroundColor = [UIColor redColor];
  14. [self.view addSubview:textFied1];
  15. textFied1.clearButtonMode = UITextFieldViewModeAlways;
  16. textFied1.tag = 007;
  17.  
  18. UIButton * btn1 = [UIButton buttonWithType:UIButtonTypeCustom];
  19. btn1.Frame=CGRectMake(10, 90, 70, 70);
  20. btn1.backgroundColor = [UIColor orangeColor];
  21. [self.view addSubview:btn1];
  22. [btn1 setTitle:@"7" forState:UIControlStateNormal];
  23.  
  24. [btn1 addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];
  25. btn1.tag = 7;
  26.  
  27. UIButton * btn2 = [UIButton buttonWithType:UIButtonTypeCustom];
  28. btn2.Frame=CGRectMake(85, 90, 70, 70);
  29. btn2.backgroundColor = [UIColor orangeColor];
  30. [self.view addSubview:btn2];
  31. [btn2 setTitle:@"8" forState:UIControlStateNormal];
  32. btn2.tag = 8;
  33.  
  34. [btn2 addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];
  35.  
  36. UIButton * btn3 = [UIButton buttonWithType:UIButtonTypeCustom];
  37. btn3.Frame=CGRectMake(160, 90, 70, 70);
  38. btn3.backgroundColor = [UIColor orangeColor];
  39. [self.view addSubview:btn3];
  40. [btn3 setTitle:@"9" forState:UIControlStateNormal];
  41. btn3.tag = 9;
  42.  
  43. [btn3 addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];
  44.  
  45. UIButton * btn4 = [UIButton buttonWithType:UIButtonTypeCustom];
  46. btn4.Frame=CGRectMake(235, 90, 70, 70);
  47. btn4.backgroundColor = [UIColor orangeColor];
  48. [self.view addSubview:btn4];
  49. [btn4 setTitle:@"/" forState:UIControlStateNormal];
  50. btn4.tag = 13;
  51.  
  52. [btn4 addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];
  53.  
  54. UIButton * btn5 = [UIButton buttonWithType:UIButtonTypeCustom];
  55. btn5.Frame=CGRectMake(10, 165, 70, 70);
  56. btn5.backgroundColor = [UIColor orangeColor];
  57. [self.view addSubview:btn5];
  58. [btn5 setTitle:@"4" forState:UIControlStateNormal];
  59. btn5.tag = 4;
  60.  
  61. [btn5 addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];
  62.  
  63. UIButton * btn6 = [UIButton buttonWithType:UIButtonTypeCustom];
  64. btn6.Frame=CGRectMake(85, 165, 70, 70);
  65. btn6.backgroundColor = [UIColor orangeColor];
  66. [self.view addSubview:btn6];
  67. [btn6 setTitle:@"5" forState:UIControlStateNormal];
  68. btn6.tag = 5;
  69. [btn6 addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];
  70.  
  71. UIButton * btn7 = [UIButton buttonWithType:UIButtonTypeCustom];
  72. btn7.Frame=CGRectMake(160, 165, 70, 70);
  73. btn7.backgroundColor = [UIColor orangeColor];
  74. [self.view addSubview:btn7];
  75. [btn7 setTitle:@"6" forState:UIControlStateNormal];
  76. btn7.tag = 6;
  77. [btn7 addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];
  78.  
  79. UIButton * btn8 = [UIButton buttonWithType:UIButtonTypeCustom];
  80. btn8.Frame=CGRectMake(235, 165, 70, 70);
  81. btn8.backgroundColor = [UIColor orangeColor];
  82. [self.view addSubview:btn8];
  83. [btn8 setTitle:@"X" forState:UIControlStateNormal];
  84. btn8.tag = 12;
  85. [btn8 addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];
  86.  
  87. UIButton * btn9 = [UIButton buttonWithType:UIButtonTypeCustom];
  88. btn9.Frame=CGRectMake(10, 240, 70, 70);
  89. btn9.backgroundColor = [UIColor orangeColor];
  90. [self.view addSubview:btn9];
  91. [btn9 setTitle:@"1" forState:UIControlStateNormal];
  92. btn9.tag = 1;
  93. [btn9 addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];
  94.  
  95. UIButton * btn10 = [UIButton buttonWithType:UIButtonTypeCustom];
  96. btn10.Frame=CGRectMake(85, 240, 70, 70);
  97. btn10.backgroundColor = [UIColor orangeColor];
  98. [self.view addSubview:btn10];
  99. [btn10 setTitle:@"2" forState:UIControlStateNormal];
  100. btn10.tag = 2;
  101. [btn10 addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];
  102.  
  103. UIButton * btn11 = [UIButton buttonWithType:UIButtonTypeCustom];
  104. btn11.Frame=CGRectMake(160, 240, 70, 70);
  105. btn11.backgroundColor = [UIColor orangeColor];
  106. [self.view addSubview:btn11];
  107. [btn11 setTitle:@"3" forState:UIControlStateNormal];
  108. btn11.tag = 3;
  109. [btn11 addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];
  110.  
  111. UIButton * btn12 = [UIButton buttonWithType:UIButtonTypeCustom];
  112. btn12.Frame=CGRectMake(235, 240, 70, 70);
  113. btn12.backgroundColor = [UIColor orangeColor];
  114. [self.view addSubview:btn12];
  115. [btn12 setTitle:@"-" forState:UIControlStateNormal];
  116. btn12.tag = 11;
  117. [btn12 addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];
  118.  
  119. UIButton * btn13 = [UIButton buttonWithType:UIButtonTypeCustom];
  120. btn13.Frame=CGRectMake(10, 315, 70, 70);
  121. btn13.backgroundColor = [UIColor orangeColor];
  122. [self.view addSubview:btn13];
  123. [btn13 setTitle:@"0" forState:UIControlStateNormal];
  124. btn13.tag = 0;
  125. [btn13 addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];
  126.  
  127. UIButton * btn14 = [UIButton buttonWithType:UIButtonTypeCustom];
  128. btn14.Frame=CGRectMake(85, 315, 145, 70);
  129. btn14.backgroundColor = [UIColor orangeColor];
  130. [self.view addSubview:btn14];
  131. [btn14 setTitle:@"=" forState:UIControlStateNormal];
  132. btn14.tag = 14;
  133. [btn14 addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];
  134.  
  135. UIButton * btn15 = [UIButton buttonWithType:UIButtonTypeCustom];
  136. btn15.Frame=CGRectMake(235, 315, 70, 70);
  137. btn15.backgroundColor = [UIColor orangeColor];
  138. [self.view addSubview:btn15];
  139. [btn15 setTitle:@"+" forState:UIControlStateNormal];
  140. btn15.tag = 10;
  141. [btn15 addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];
  142.  
  143. // Do any additional setup after loading the view, typically from a nib.
  144. }
  145.  
  146. //enum calCul
  147. //{
  148. // add,
  149. // sub,
  150. // mul,
  151. // mod
  152. //};
  153. //
  154. //typedef enum calCul calCul;
  155. int count;
  156.  
  157. -(void)btnClick:(UIButton *)btn
  158. {
  159. NSString * str = [[NSString alloc]init];
  160. if (btn.tag == 0) {
  161. UITextField * field = ( UITextField * )[self.view viewWithTag:007];
  162. str = @"0";
  163. //_operator1 = 0;
  164.  
  165. field.text = str;
  166. }
  167. else if(btn.tag==1)
  168. {
  169. UITextField * field = ( UITextField * )[self.view viewWithTag:007];
  170. str = @"1";
  171. //_operator2 = 1;
  172. field.text = str;
  173. }
  174. else if(btn.tag==2)
  175. {
  176. UITextField * field = ( UITextField * )[self.view viewWithTag:007];
  177. str = @"2";
  178. field.text = str;
  179. }
  180. else if(btn.tag==3)
  181. {
  182. UITextField * field = ( UITextField * )[self.view viewWithTag:007];
  183. str = @"3";
  184. field.text = str;
  185. }
  186. else if(btn.tag==4)
  187. {
  188. UITextField * field = ( UITextField * )[self.view viewWithTag:007];
  189. str = @"4";
  190. field.text = str;
  191. }
  192. else if(btn.tag==5)
  193. {
  194. UITextField * field = ( UITextField * )[self.view viewWithTag:007];
  195. str = @"5";
  196. field.text = str;
  197. }
  198. else if(btn.tag==6)
  199. {
  200. UITextField * field = ( UITextField * )[self.view viewWithTag:007];
  201. str = @"6";
  202. field.text = str;
  203. }
  204. else if(btn.tag==7)
  205. {
  206. UITextField * field = ( UITextField * )[self.view viewWithTag:007];
  207. str = @"7";
  208. field.text = str;
  209. } else if(btn.tag==8)
  210. {
  211. UITextField * field = ( UITextField * )[self.view viewWithTag:007];
  212. str = @"8";
  213. field.text = str;
  214. }
  215. else if(btn.tag==9)
  216. {
  217. UITextField * field = ( UITextField * )[self.view viewWithTag:007];
  218. str = @"9";
  219. field.text = str;
  220. }
  221. else if(btn.tag==10)
  222. {
  223. count = 1;
  224. UITextField * field = ( UITextField * )[self.view viewWithTag:007];
  225. //str = @"+";
  226. str = field.text;
  227. //_result = _operator1;
  228. _operator1 = [str doubleValue];
  229.  
  230. //str = [[NSString alloc]initWithFormat:@"%.2f",_result];
  231. field.text = str;
  232. }
  233. else if(btn.tag==11)
  234. {
  235. count = 2;
  236. UITextField * field = ( UITextField * )[self.view viewWithTag:007];
  237. //str = @"-";
  238. //_result = _operator1 + _operator2;
  239. str = field.text;
  240. _operator1 = [str doubleValue];
  241. field.text = str;
  242. }
  243. else if(btn.tag==12)
  244. {
  245. count = 3;
  246. UITextField * field = ( UITextField * )[self.view viewWithTag:007];
  247. //str = @"*";
  248. str = field.text;
  249. _operator1 = [str doubleValue];
  250. field.text = str;
  251. }
  252. else if(btn.tag==13)
  253. {
  254. count = 4;
  255. UITextField * field = ( UITextField * )[self.view viewWithTag:007];
  256. //str = @"/";
  257. str = field.text;
  258. _operator1 = [str doubleValue];
  259. field.text = str;
  260. }
  261. else if(btn.tag==14)
  262. {
  263. UITextField * field = ( UITextField * )[self.view viewWithTag:007];
  264. str = @"=";
  265. str = field.text;
  266. _operator2 = [str doubleValue];
  267. if (count==1) {
  268. _result = _operator1 + _operator2;
  269. }
  270. else if(count == 2)
  271. {
  272. _result = _operator1 - _operator2;
  273. }
  274. else if(count == 3)
  275. {
  276. _result = _operator1 * _operator2;
  277. }
  278. else if(count==4)
  279. {
  280. _result = _operator1 / _operator2;
  281. }
  282. str = [[NSString alloc]initWithFormat:@"%.6f",_result];
  283. field.text = str;
  284. }
  285. }
  286. -(BOOL)textFieldShouldBeginEditing:(UITextField *)textField
  287. {
  288. return YES;
  289. }
  290. - (void)didReceiveMemoryWarning {
  291. [super didReceiveMemoryWarning];
  292. // Dispose of any resources that can be recreated.
  293. }
  294.  
  295. @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. HDU3533 Escape

    题目: The students of the HEU are maneuvering for their military training. The red army and the blue a ...

  2. Oracle 批量插入值

    工作中常遇到将Excel文档数据转为SQL语句,然后再将SQL语句插入到数据库已完成数据转移保存到数据库中,下面介绍下如何一次性插入多条SQL语句,先抛个图: 由于真实数据不变给大家看,所以这里是做了 ...

  3. Your configuration specifies to merge with the ref 'refs/heads/v.autoCheckProduct.20190325' from the remote, but no such ref was fetched.

    问题: 创建新的分支,当我们执行git pull,出现如下错误 解决办法: 1.切换到主分支(或者被依赖的分支,也就是你从哪个分支上拉取新的分支),博主这里是master分支 2.执行以下两个命令 3 ...

  4. HTML 打印 换页

    打印 HTML 无法强制换页其实是一件很令人困扰的事,要达到这个功能其实可以透过 CSS 的 Pagebreak 来处理. 强制分页有大概只有二种用的到: { page-break-after: al ...

  5. 5.27 sorm图

  6. Android 4.0 Launcher2源码分析——主布局文件(转)

    本文来自http://blog.csdn.net/chenshaoyang0011 Android系统的一大特色是它拥有的桌面通知系统,不同于IOS的桌面管理,Android有一个桌面系统用于管理和展 ...

  7. poj1101 the game 广搜

    题目大意: 类似于连连看,问从起点到终点最少需要几条线段. 规则: 1.允许出界. 2.空格的地方才能走. 分析: 题目做下来发现没有卡时间,所以主要还是靠思路.也就是说不用考虑离线算法.直接以每个起 ...

  8. Shiny学习实践01

    Shiny是什么东东? 官方描述: Shiny is an R package that makes it easy to build interactive web apps straight fr ...

  9. Overview of Polymorphism -多态的分类

    多态有类型系统衍生. 有限类型.无限类型.确定类型. Classifications Christopher Strachey (1967) introduced the concept of pol ...

  10. 使用脚本卸载.net framework for mac

    官方只提供了安装包,没提供卸载