@interface AppDelegate ()
{
UILabel *label;
double headNumber;
double endNumber;
BOOL plus;
BOOL subs;
BOOL multiply;
BOOL divide;
}
@end
@implementation AppDelegate
(BOOL)application:(UIApplication )application didFinishLaunchingWithOptions:(NSDictionary )launchOptions {
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
self.window.backgroundColor = [UIColor whiteColor];
CGFloat windowWidth = [UIScreen mainScreen].bounds.size.width;
CGFloat windowHeight = [UIScreen mainScreen].bounds.size.height;
UIView *mainView = [[UIView alloc] initWithFrame:CGRectMake(0, 20, windowWidth, windowHeight-20)];
mainView.backgroundColor = [UIColor blackColor];
[self.window addSubview:mainView];headNumber = 0.0;
endNumber = 0.0;
plus = NO;
subs = NO;
multiply = NO;
divide = NO;CGFloat viewWidth = mainView.bounds.size.width;
CGFloat viewHeight = mainView.bounds.size.height;label = [[UILabel alloc] initWithFrame:CGRectMake(0, viewHeight/7, viewWidth, viewHeight/7)];
// textField.backgroundColor = [UIColor grayColor];
label.text = @”0”;
label.font = [UIFont systemFontOfSize:viewHeight/7-10];
label.textColor = [UIColor whiteColor];
[label setTextAlignment:NSTextAlignmentRight];
[mainView addSubview:label];NSArray * array = @[@”AC”,@”+/_”,@”%”,@”÷”,@”7”,@”8”,@”9”,@”×”,@”4”,@”5”,@”6”,@”-“,@”1”,@”2”,@”3”,@”+”,@”0”,@”.”,@”=”];
int count = array.count;
for (int i = 0;i < count ;i++) {
UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem]; button.frame = CGRectMake(viewWidth/4*(i%4)+1, viewHeight/7*(2+(i/4))+1, (viewWidth-5)/4, (viewHeight-5)/7); button.backgroundColor = [UIColor colorWithRed:201/255.0 green:201/255.0 blue:201/255.0 alpha:1.0]; [button setTitle:array[i] forState:0]; button.font = [UIFont systemFontOfSize:24]; [button setTitleColor:[UIColor blackColor] forState:0]; if ([array[i] isEqualToString:@"÷"] || [array[i] isEqualToString:@"×"] ||[array[i] isEqualToString:@"-"] ||[array[i] isEqualToString:@"+"] ||[array[i] isEqualToString:@"="] ) { button.backgroundColor = [UIColor colorWithRed:240/255.0 green:120/255.0 blue:18/255.0 alpha:1.0]; } if ([array[i] isEqualToString:@"0"]) { button.frame = CGRectMake(viewWidth/4*(i%4)+1, viewHeight/7*(2+(i/4))+1, (viewWidth-5)/4*2+1, (viewHeight-5)/7); } if ([array[i] isEqualToString:@"."]||[array[i] isEqualToString:@"="]) { button.frame = CGRectMake(viewWidth/4*(i%4+1)+1, viewHeight/7*(2+(i/4))+1, (viewWidth-5)/4, (viewHeight-5)/7); }
pragma mark========================上面都是布局的代码,下面是Action============================
[button addTarget:self action:@selector(click:) forControlEvents:UIControlEventTouchUpInside];
[mainView addSubview:button];
}
[self.window makeKeyAndVisible];
return YES;
}
(void)click:(UIButton *)sender {
if ([sender.currentTitle isEqualToString:@”+”]) {
headNumber = [label.text doubleValue];
label.text =@”0”;
plus =YES;
}if ([sender.currentTitle isEqualToString:@”-“]) {
headNumber = [label.text doubleValue];
label.text = @”0”;
subs = YES;
}
if ([sender.currentTitle isEqualToString:@”÷”]) {
headNumber = [label.text doubleValue];
label.text = @”0”;
divide = YES;
}
if ([sender.currentTitle isEqualToString:@”×”]) {
headNumber = [label.text doubleValue];
label.text = @”0”;
multiply = YES;
}if ([sender.currentTitle isEqualToString:@”=”]) {
if (plus) {
endNumber = [label.text doubleValue] + headNumber;
label.text = [NSString stringWithFormat:@”%0.2f”,endNumber];
plus = NO;
}
if (subs) {
endNumber = headNumber - [label.text doubleValue] ;
label.text = [NSString stringWithFormat:@”%0.2f”,endNumber];
subs = NO;
}
if (divide) {
endNumber = headNumber / [label.text doubleValue] ;
label.text = [NSString stringWithFormat:@”%0.2f”,endNumber];
divide = NO;
}
if (multiply) {
endNumber = [label.text doubleValue] * headNumber;
label.text = [NSString stringWithFormat:@”%0.2f”,endNumber];
multiply = NO;
}}
if ([sender.currentTitle isEqualToString:@”AC”]) {
label.text = @”0”;
headNumber = 0.0;
endNumber = 0.0;
}if ([sender.currentTitle isEqualToString:@”1”]) {
[self appending:sender.currentTitle];
}
if ([sender.currentTitle isEqualToString:@”2”]) {
[self appending:sender.currentTitle];
}
if ([sender.currentTitle isEqualToString:@”3”]) {
[self appending:sender.currentTitle];
}
if ([sender.currentTitle isEqualToString:@”4”]) {
[self appending:sender.currentTitle];
}
if ([sender.currentTitle isEqualToString:@”5”]) {
[self appending:sender.currentTitle];
}
if ([sender.currentTitle isEqualToString:@”6”]) {
[self appending:sender.currentTitle];
}
if ([sender.currentTitle isEqualToString:@”7”]) {
[self appending:sender.currentTitle];
}
if ([sender.currentTitle isEqualToString:@”8”]) {
[self appending:sender.currentTitle];
}
if ([sender.currentTitle isEqualToString:@”9”]) {
[self appending:sender.currentTitle];
}
if ([sender.currentTitle isEqualToString:@”0”]) {
[self appending:sender.currentTitle];
}
if ([sender.currentTitle isEqualToString:@”.”]) {
[self appending:sender.currentTitle];
}
if ([sender.currentTitle isEqualToString:@”%”]) {
[self appending:sender.currentTitle];
}
}
//在屏幕上显示的字符串拼接的方法
- (void)appending:(NSString *)string {
if ([label.text isEqualToString:@”0”]) {
label.text = string;
} else {
label.text = [label.text stringByAppendingString:string];
}
}