//
// AppDelegate.m
// Demo-UI3-1
//
// Created by dllo on 15/3/6.
// Copyright (c) 2015年 luojin. All rights reserved.
//
#import "AppDelegate.h"
@interface AppDelegate ()
@end
@implementation AppDelegate
- (void)dealloc
{
[_window release];
[_field release];
[super dealloc];
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
_judgeNumber = 0;
_integerNumber = 0;
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
[self.window makeKeyAndVisible];
[self.window setBackgroundColor:[UIColor whiteColor]];
_field = [[UITextField alloc] initWithFrame:CGRectMake(30, 40, 300, 40)];
[self.window addSubview:_field];
_field.text = @"";
_field.textAlignment = NSTextAlignmentRight;
_field.font = [UIFont systemFontOfSize:30];
[_field setBounds:CGRectMake(30, 40, 300, 40)];
[_field setBackgroundColor:[UIColor darkGrayColor]];
_field.textColor = [UIColor redColor];
_button0 = [UIButton buttonWithType:UIButtonTypeSystem];
[self.window addSubview:_button0];
_button0.frame = CGRectMake(100, 280, 50, 50);
[_button0 setTitle:@"0" forState:UIControlStateNormal];
[_button0 addTarget:self action:@selector(inputNum0Click:) forControlEvents:UIControlEventTouchUpInside];
_button1 = [UIButton buttonWithType:UIButtonTypeSystem];
[self.window addSubview:_button1];
_button1.frame = CGRectMake(30, 100, 50, 50);
[_button1 setTitle:@"1" forState:UIControlStateNormal];
[_button1 addTarget:self action:@selector(inputNum1Click:) forControlEvents:UIControlEventTouchUpInside];
_button2 = [UIButton buttonWithType:UIButtonTypeSystem];
[self.window addSubview:_button2];
_button2.frame = CGRectMake(100, 100, 50, 50);
[_button2 setTitle:@"2" forState:UIControlStateNormal];
[_button2 addTarget:self action:@selector(inputNum2Click:) forControlEvents:UIControlEventTouchUpInside];
_button3 = [UIButton buttonWithType:UIButtonTypeSystem];
[self.window addSubview:_button3];
_button3.frame = CGRectMake(170, 100, 50, 50);
[_button3 setTitle:@"3" forState:UIControlStateNormal];
[_button3 addTarget:self action:@selector(inputNum3Click:) forControlEvents:UIControlEventTouchUpInside];
_button4 = [UIButton buttonWithType:UIButtonTypeSystem];
[self.window addSubview:_button4];
_button4.frame = CGRectMake(30, 160, 50, 50);
[_button4 setTitle:@"4" forState:UIControlStateNormal];
[_button4 addTarget:self action:@selector(inputNum4Click:) forControlEvents:UIControlEventTouchUpInside];
_button5 = [UIButton buttonWithType:UIButtonTypeSystem];
[self.window addSubview:_button5];
_button5.frame = CGRectMake(100, 160, 50, 50);
[_button5 setTitle:@"5" forState:UIControlStateNormal];
[_button5 addTarget:self action:@selector(inputNum5Click:) forControlEvents:UIControlEventTouchUpInside];
_button6 = [UIButton buttonWithType:UIButtonTypeSystem];
[self.window addSubview:_button6];
_button6.frame = CGRectMake(170, 160, 50, 50);
[_button6 setTitle:@"6" forState:UIControlStateNormal];
[_button6 addTarget:self action:@selector(inputNum6Click:) forControlEvents:UIControlEventTouchUpInside];
_button7 = [UIButton buttonWithType:UIButtonTypeSystem];
[self.window addSubview:_button7];
_button7.frame = CGRectMake(30, 220, 50, 50);
[_button7 setTitle:@"7" forState:UIControlStateNormal];
[_button7 addTarget:self action:@selector(inputNum7Click:) forControlEvents:UIControlEventTouchUpInside];
_button8 = [UIButton buttonWithType:UIButtonTypeSystem];
[self.window addSubview:_button8];
_button8.frame = CGRectMake(100, 220, 50, 50);
[_button8 setTitle:@"8" forState:UIControlStateNormal];
[_button8 addTarget:self action:@selector(inputNum8Click:) forControlEvents:UIControlEventTouchUpInside];
_button9 = [UIButton buttonWithType:UIButtonTypeSystem];
[self.window addSubview:_button9];
_button9.frame = CGRectMake(170, 220, 50, 50);
[_button9 setTitle:@"9" forState:UIControlStateNormal];
[_button9 addTarget:self action:@selector(inputNum9Click:) forControlEvents:UIControlEventTouchUpInside];
_addButton = [UIButton buttonWithType:UIButtonTypeSystem];
[self.window addSubview:_addButton];
_addButton.frame = CGRectMake(240, 100, 50, 50);
[_addButton setTitle:@"+" forState:UIControlStateNormal];
[_addButton addTarget:self action:@selector(addCilck:) forControlEvents:UIControlEventTouchUpInside];
_subButton = [UIButton buttonWithType:UIButtonTypeSystem];
[self.window addSubview:_subButton];
_subButton.frame = CGRectMake(240, 160, 50, 50);
[_subButton setTitle:@"-" forState:UIControlStateNormal];
[_subButton addTarget:self action:@selector(subCilck:) forControlEvents:UIControlEventTouchUpInside];
_sulButton = [UIButton buttonWithType:UIButtonTypeSystem];
[self.window addSubview:_sulButton];
_sulButton.frame = CGRectMake(240, 220, 50, 50);
[_sulButton setTitle:@"*" forState:UIControlStateNormal];
[_sulButton addTarget:self action:@selector(sulCilck:) forControlEvents:UIControlEventTouchUpInside];
_divButton = [UIButton buttonWithType:UIButtonTypeSystem];
[self.window addSubview:_divButton];
_divButton.frame = CGRectMake(240, 280, 50, 50);
[_divButton setTitle:@"/" forState:UIControlStateNormal];
[_divButton addTarget:self action:@selector(divCilck:) forControlEvents:UIControlEventTouchUpInside];
_equalButton = [UIButton buttonWithType:UIButtonTypeSystem];
[self.window addSubview:_equalButton];
_equalButton.frame = CGRectMake(170, 280, 50, 50);
[_equalButton setTitle:@"=" forState:UIControlStateNormal];
[_equalButton addTarget:self action:@selector(equalCilck:) forControlEvents:UIControlEventTouchUpInside];
_clearButton = [UIButton buttonWithType:UIButtonTypeSystem];
_clearButton.frame = CGRectMake(30, 280, 50, 50);
[_clearButton setTitle:@"c" forState:UIControlStateNormal];
[self.window addSubview:_clearButton];
[_clearButton addTarget:self action:@selector(clearClick:) forControlEvents:UIControlEventTouchUpInside];
_delButton = [UIButton buttonWithType:UIButtonTypeSystem];
_delButton.frame = CGRectMake(30, 340, 50, 50);
[_delButton setTitle:@"del" forState:UIControlStateNormal];
[self.window addSubview:_delButton];
[_delButton addTarget:self action:@selector(deleteClick:) forControlEvents:UIControlEventTouchUpInside];
return YES;
}
- (void)deleteClick:(id)sender
{
_firstNumber = [_field.text integerValue];
NSString *inputString = nil;
if (0 != _field.text.length) {
_firstNumber = _firstNumber / 10;
NSNumber *s = [NSNumber numberWithInteger:_firstNumber];
inputString = [s stringValue];
} else {
inputString = @"0";
_firstNumber = 0;
}
[_field setText:inputString];
}
- (void)addCilck:(id)sender
{
if (_judgeNumber > 0) {
_firstNumber = _firstNumber + [_field.text integerValue];
} else {
// 保存第一个操作数
_firstNumber = [_field.text integerValue];
}
// 保存按键类型
_buttonType = 1;
// 保存计算类型
_calulateType = 0;
_judgeNumber += 1;
}
- (void)subCilck:(id)sender
{
if (_judgeNumber > 0) {
_firstNumber = _firstNumber - [_field.text integerValue];
} else {
_firstNumber = [_field.text integerValue];
}
_buttonType = 1;
_calulateType = 1;
_judgeNumber += 1;
}
- (void)sulCilck:(id)sender
{
if (_judgeNumber > 0) {
_firstNumber = _firstNumber * [_field.text integerValue];
} else {
_firstNumber = [_field.text integerValue];
}
_buttonType = 1;
_calulateType = 2;
_judgeNumber += 1;
}
- (void)divCilck:(id)sender
{
if (_judgeNumber > 0) {
_firstNumber = _firstNumber / [_field.text integerValue];
} else {
_firstNumber = [_field.text integerValue];
}
_buttonType = 1;
_calulateType = 3;
_judgeNumber += 1;
}
- (void)clearClick:(id)sender
{
_firstNumber = 0;
[_field setText:@"0"];
}
- (void)inputNum0Click:(id)sender
{
_judgeNumber += 1;
NSString *inputString = nil;
if (0 == _buttonType) {
inputString = [_field.text stringByAppendingString:@"0"];
} else {
inputString = @"0";
}
[_field setText:inputString];
_buttonType = 0;
}
- (void)inputNum1Click:(id)sender
{
NSString *inputString = nil;
if (0 == _buttonType) {
inputString = [_field.text stringByAppendingString:@"1"];
} else {
inputString = @"1";
}
[_field setText:inputString];
_buttonType = 0;
_judgeNumber += 1;
}
- (void)inputNum2Click:(id)sender
{
NSString *inputString = nil;
if (0 == _buttonType) {
inputString = [_field.text stringByAppendingString:@"2"];
} else {
inputString = @"2";
}
[_field setText:inputString];
_buttonType = 0;
_judgeNumber += 1;
}
- (void)inputNum3Click:(id)sender
{
NSString *inputString = nil;
if (0 == _buttonType) {
inputString = [_field.text stringByAppendingString:@"3"];
} else {
inputString = @"3";
}
[_field setText:inputString];
_buttonType = 0;
_judgeNumber += 1;
}
- (void)inputNum4Click:(id)sender
{
NSString *inputString = nil;
if (0 == _buttonType) {
inputString = [_field.text stringByAppendingString:@"4"];
} else {
inputString = @"4";
}
[_field setText:inputString];
_buttonType = 0;
_judgeNumber += 1;
}
- (void)inputNum5Click:(id)sender
{
NSString *inputString = nil;
if (0 == _buttonType) {
inputString = [_field.text stringByAppendingString:@"5"];
} else {
inputString = @"5";
}
[_field setText:inputString];
_buttonType = 0;
_judgeNumber += 1;
}
- (void)inputNum6Click:(id)sender
{
NSString *inputString = nil;
if (0 == _buttonType) {
inputString = [_field.text stringByAppendingString:@"6"];
} else {
inputString = @"6";
}
[_field setText:inputString];
_buttonType = 0;
_judgeNumber += 1;
}
- (void)inputNum7Click:(id)sender
{
NSString *inputString = nil;
if (0 == _buttonType) {
inputString = [_field.text stringByAppendingString:@"7"];
} else {
inputString = @"7";
}
[_field setText:inputString];
_buttonType = 0;
_judgeNumber += 1;
}
- (void)inputNum8Click:(id)sender
{
NSString *inputString = nil;
if (0 == _buttonType) {
inputString = [_field.text stringByAppendingString:@"8"];
} else {
inputString = @"8";
}
[_field setText:inputString];
_buttonType = 0;
_judgeNumber += 1;
}
- (void)inputNum9Click:(id)sender
{
NSString *inputString = nil;
if (0 == _buttonType) {
inputString = [_field.text stringByAppendingString:@"9"];
} else {
inputString = @"9";
}
[_field setText:inputString];
_buttonType = 0;
_judgeNumber += 1;
}
- (void)equalCilck:(id)sender
{
NSInteger result = 0;
switch (_calulateType) {
case 0:
result = _firstNumber + _field.text.integerValue;
break;
case 1:
result = _firstNumber - _field.text.integerValue;
break;
case 2:
result = _firstNumber * _field.text.integerValue;
break;
case 3:
result = _firstNumber / _field.text.integerValue;
break;
default:
break;
}
NSString *resultString = [NSString stringWithFormat:@"%ld", result];
[_field setText:resultString];
}