相对上次做得计算器,稍微将代码简化了一些,加了小树点的功能,能够在实现第一次运算后能够继续将结果进行多次运算,将昨天学的动画设计,和文字的设计加入到了界面中
1 #import "ViewController.h" 2 3 @interface ViewController () 4 @property (weak, nonatomic) IBOutlet UILabel *show; 5 6 7 8 @end 9 10 @implementation ViewController 11 int i=10; 12 13 - (void)viewDidLoad { 14 [super viewDidLoad]; 15 jisuan=[[jisuanqi alloc]init]; 16 17 18 UILabel *lab=[[UILabel alloc] initWithFrame:CGRectMake(100,400,1200,20)]; 19 //lab.backgroundColor=[UIColor greenColor]; 20 lab.text=@"欢迎使用!"; 21 lab.textColor=[UIColor blueColor]; 22 //lab.textColor=[UIColor colorWithRed:63/255.0 green:130/255.0 blue:139/255.0 alpha:1]; 23 lab.font=[UIFont systemFontOfSize:20]; 24 lab.shadowColor=[UIColor yellowColor]; 25 lab.shadowOffset=CGSizeMake(10,0); 26 [self.view addSubview:lab]; 27 28 // Do any additional setup after loading the view, typically from a nib. 29 jisuan=[[jisuanqi alloc]init]; 30 31 UIImageView *imgview=[[UIImageView alloc]initWithFrame:CGRectMake(80, 190, 200, 100)]; 32 UIImage *img1=[UIImage imageNamed:@"5.png"]; //创建一个对象,并初始化 33 UIImage *img2=[UIImage imageNamed:@"6.png"]; 34 UIImage *img3=[UIImage imageNamed:@"7.png"]; 35 UIImage *img4=[UIImage imageNamed:@"8.png"]; 36 UIImage *img5=[UIImage imageNamed:@"9.png"]; 37 UIImage *img6=[UIImage imageNamed:@"10.png"]; 38 UIImage *img7=[UIImage imageNamed:@"11.png"]; 39 40 imgview.alpha=0.4; 41 42 NSArray *array=[NSArray arrayWithObjects:img1,img2,img3,img4 ,img5,img6,img7,nil]; //创建数组 43 // NSArray *array = [NSArray arrayWithObjects:img1, img2, img3,img4, nil]; 44 imgview.animationDuration=1; //动画跳动的时间间隔 1/7秒 45 imgview.animationImages = array; //跳动的图片 46 [imgview startAnimating]; //调用方法 47 [self.view addSubview:imgview]; 48 // Do any additional setup after loading the view, typically from a nib. 49 } 50 - (IBAction)clicknum:(UIButton *)sender { 51 52 53 /*if(jisuan.opp1==0){ 54 jisuan.opr1=jisuan.opr1*10+sender.tag; 55 self.show.text = [NSString stringWithFormat:@"%f", jisuan.opr1]; 56 } 57 else{ 58 jisuan.opr2=jisuan.opr1*10+sender.tag; 59 self.show.text = [NSString stringWithFormat:@"%f", jisuan.opr2]; 60 }*/ 61 if(jisuan.opp1=='+'||jisuan.opp1=='-'||jisuan.opp1=='*'||jisuan.opp1=='/') //判断是否已经按了运算符 62 //if (jisuan.opp1==0) 63 { 64 65 if (jisuan.dot=='.') 66 { 67 jisuan.opr1 = jisuan.opr1 + sender.tag*1.0/i; 68 i=i*10; 69 } 70 else 71 { 72 jisuan.opr1 = jisuan.opr1*10 + sender.tag; 73 } 74 self.show.text = [NSString stringWithFormat:@"%f",jisuan.opr1]; 75 } 76 77 78 else { 79 jisuan.opp1=0; 80 if (jisuan.dot=='.') { 81 82 jisuan.opr2 = jisuan.opr2+ sender.tag*1.0/i; 83 i=i*10; 84 85 86 } else { 87 88 jisuan.opr2 = jisuan.opr2*10 + sender.tag; 89 90 } 91 92 self.show.text = [NSString stringWithFormat:@"%f",jisuan.opr2]; 93 94 } 95 96 97 } 98 99 100 - (IBAction)function:(UIButton *)sender { 101 switch(sender.tag) 102 103 { 104 case(10): 105 { 106 self.show.text =@"+"; 107 108 jisuan.opp1 = '+'; 109 jisuan.dot=0; 110 i=10; 111 //jisuan.opr1=jisuan.opr1+jisuan.opr2; 112 break; 113 } 114 case(11): 115 { 116 self.show.text =@"-"; 117 118 jisuan.opp1 = '-'; 119 jisuan.dot=0; 120 i=10; 121 break; 122 } 123 124 case(12): 125 { 126 self.show.text =@"*"; 127 128 jisuan.opp1 = '*'; 129 jisuan.dot=0; 130 i=10; 131 break; 132 } 133 case(13): 134 { 135 self.show.text =@"/"; 136 137 jisuan.opp1 = '/'; 138 jisuan.dot=0; 139 i=10; 140 break; 141 } 142 case 14: 143 { 144 self.show.text=@"%"; 145 jisuan.opp1='%'; 146 } 147 default:break; 148 } 149 150 } 151 152 - (IBAction)clear:(id)sender { 153 jisuan.opr1=0; 154 jisuan.opr2=0; 155 jisuan.dot=0; 156 jisuan.opp1=0; 157 i =10; 158 self.show.text = @"0"; 159 160 } 161 162 163 164 - (IBAction)dot:(id)sender { //给dot属性赋值 165 jisuan.dot='.'; 166 } 167 168 169 170 - (IBAction)eql:(id)sender { // 给=号添加响应 171 float result; 172 switch (jisuan.opp1) 173 { 174 case '+': 175 { 176 177 result=[jisuan work1]; 178 179 180 181 break; 182 } 183 case '-': 184 { 185 186 result=[jisuan work2]; 187 break; 188 } 189 case '*': 190 { 191 192 result=[jisuan work3]; 193 break; 194 } 195 case '/': 196 { 197 198 result=[jisuan work4]; 199 200 break; 201 } 202 203 default: 204 break; 205 206 207 } 208 209 210 self.show.text = [NSString stringWithFormat:@"%f", result]; 211 jisuan.opp1=0; 212 jisuan.opr1=0; 213 jisuan.opr2=result; 214 215 216 } 217 218 - (void)didReceiveMemoryWarning { 219 [super didReceiveMemoryWarning]; 220 // Dispose of any resources that can be recreated. 221 } 222 223 @end