2015 IOS 学习笔记 界面图形计算器的制作——蓝懿教育

- (IBAction)calAction:(UIButton *)sender {

self.number1 = [self.resultLabel.textfloatValue];

self.operator = sender.tag;

self.resultLabel.text = @"0";

}

- (IBAction)clear:(id)sender {

self.resultLabel.text = @"0";

//     self.resultLabel.font = [UIFont fontWithName:@"Zapfino" size:70];

self.resultLabel.font = [UIFontsystemFontOfSize:70];

}

- (IBAction)resultAction:(id)sender {

float number2 = [self.resultLabel.text floatValue];

float result = 0;

switch (self.operator) {

case 0://+

result = self.number1 + number2;

break;

case 1://-

result = self.number1 - number2;

break;

case 2://*

result = self.number1 * number2;

break;

case 3:///

result = self.number1 / number2;

break;

}

//    55+3*2-3/1

//控制小数点的位数

self.resultLabel.text = [NSString stringWithFormat:@"%.2f",result];

}

- (IBAction)number:(UIButton *)sender {

//把数字取出来 让label去显示

//    取出按钮的title

NSString *title = [sender titleForState:UIControlStateNormal];

//判断字符串是否以***开头或结尾

//    判断如果是以0开头  并且当前点击的按钮是数字不是小数点需要把0去掉

if ( self.resultLabel.text.length==1 &&![title isEqualToString:@"."]&& [self.resultLabel.text hasPrefix:@"0"]) {

self.resultLabel.text = @"";

}

//避免连续输入小数点

if ([title isEqualToString:@"."]) {

//判断是否包含某个字符串

if ([self.resultLabel.text rangeOfString:@"."].length>0) {

//如果包含了. 就不能再点 . 了

return;

}

}

//    把title显示到lable中

self.resultLabel.text = [self.resultLabel.textstringByAppendingString:title];

//如果输入的内容过多则把字体变小把行数变成无数行

if (self.resultLabel.text.length>=8) {

self.resultLabel.font = [UIFont systemFontOfSize:30];

//

self.resultLabel.numberOfLines = 0;

}

}

时间: 2024-10-19 10:15:17

2015 IOS 学习笔记 界面图形计算器的制作——蓝懿教育的相关文章

2015 IOS tabelView分组、Xib、Cell——在蓝懿教育 学习笔记

TabelView分组.表头,表尾 删除vc 搭建tvc 分组界面中return 2 分2组: 在控制行加判断 如果section== 1  return10 (此时012 0123456789) 在sb中选中tv在style右样式改成Grouped 此时有了间隔 控制分组题头和尾.有个字符串 -(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{ return @"我

蓝懿 2015 IOS 学习笔记 数字运算 随机值 图形关联

来蓝懿教育学习的第一天,由刘国斌老师独家授课教学,一天下来感觉很充实,并且在没有任何基础之上学到如何在Xcode中运用简单的数字运算与图形关联方法.刘老师教课方式比较有趣生动,班级很活跃,我们这一批学员人数较少,所以学习气氛浓郁,把今天的笔记整理一下. ————————————首先是简单数字运用计算——————————————— ? ? int c =1231233123; float a = 10; float b = 232.23; float d = a-b-c; NSLog(@"%f&q

蓝懿 2015 IOS 学习笔记 作用域 if判断 BOOL变量

我来自蓝懿教育 第二天学习了简单的计算器加减乘除的运算,变量,BOOL变量,以及if判断.掌握情况较为良好. 首先学习了简单计算器.在界面中输入两个添加数值的UITextview,在其中添加数字类型的数值,并且在下方有四个Button分别代表加减乘除,然后再放置两个Label作为符号显示与计算结果.图形是这样的: ————————随后学习的全局变量———————— 全局变量与局部变量的区别: 全局变量就是整个源程序都有效的变量:而局部变量会在其所属的函数或循环等结束后消亡.整个程序都要用的变量定

2015 IOS 学习笔记 打砖块练习以及接水果练习 ——蓝懿教育

今天我们进入做实例环节,刘国斌老师带我们做了两个小游戏,两个游戏看似简单但内包含的知识面几乎涵盖了之前所学到的所有东西,所以综合性很强,而且锻炼个人逻辑思维能力. 打砖块练习中,要再界面中添加一个砖块的矩形,两个控制砖块左右移动Button,然后在砖块之上建立一个球,使得界面开始时 球开始移动,然后碰撞到墙面反弹再碰撞反弹,直至反弹至砖块上?接住,使得球与砖块相交时再次反弹. 难点在于要考虑球反弹至墙壁后如何反弹,解决方法是给球设置一个移动速度speed,让这个speed是个数值类型,碰到墙壁,

2015 IOS 学习笔记 面向对象 初始化方法 ——蓝懿教育

今天学习了面向对象以及初始化方法,这个在实际应用中比较重要,也比较抽象,所以要具体在实例中才能理解. ————————面向对象有三大特性—————— 一.封装 封装是对象和类概念的主要特性.它是隐藏内部实现,稳定外部接口,可以看作是“包装”.封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏. 好处:使用更简单变量更安全可以隐藏内部实现细节开发速度加快 OC中一个类可以继承另一个类,被继承的类成为超类(superclass),继承的

2015 IOS 学习笔记 for循环 方法练习 ——蓝懿教育

今天学习了for循环以及方法,内容有些复杂,不过万变不离其宗 在以后的学习中容易掌握,因为涉及范围广阔,使用率高.所以多加练习后会掌握. ————————for循环—————————— for循环概念: for循环编程语言中的语句之一,用于循环执行.for循环是开界的,它的一般形式为: for(; <<span se-mark="1">条件表达式>; ) 语句: 初始化总是一个赋值语句, 它用来给循环控制变量赋初值: 条件表达式是一个关系表达式, 它决定什么时候

2015 IOS 学习笔记 面向对象之多态 实例僵尸的练习 ——蓝懿教育

多态 多态性(polymorphism)是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作.简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针.不同对象以自己的方式响应相同的消息的能力叫做多态.意思就是假设生物类(life)都用有一个相同的方法-eat;那人类属于生物,猪也属于生物,都继承了life后,实现各自的eat,但是调用是我们只需调用各自的eat方法.也就是不同的对象以自己的方式响应了相同的消息(响

2015 IOS 学习笔记 控 件 ——蓝懿教育

UIlabel  *l1   蓝懿教育 text font 设置字体 设置居中  l1 setTextAlignment:NSTextAlignmentCenter 设置行数  numberOfLines //    lf.font = [UIFont fontWithName:@"字体名称" size:18]; //设置居中 [l setTextAlignment:NSTextAlignmentCenter]; UIbutton 内容  setTitle    UI button  

2015 IOS 学习笔记 内存管理,页面跳转 ——蓝懿教育

——————————内存管理———————————————— 手动内存管理(MRC)中常用的三个方法 retain:导致内存计数+1 release:导致内存计数-1 copy:复制出来一个新的对象 和之前对象的数据可能一致 但是 不是同一个对象 此对象内存计数是1 autorelease:自动释放 当变量出了自动释放池之后会自动释放 自动释放池在项目中有很多看不见的 属性描述关键字: retain/strong: //如果是retain 会做两件事 //-(void)setNames:(NSM