//声明非原创

步骤:

1.打开Xcode,单机Creat a new Xcode project

2.左边选择ios下Application,右边选择single view Application

3.填写项目名称单机Next

4.ViewController.h中定义成员和方法

//
// ViewController.h
// TestCalculator4
//
// Created by heyonggang on 13-11-28.
// Copyright (c) 2013年 MiracleHe. All rights reserved.
// #import <UIKit/UIKit.h> @interface ViewController : UIViewController @property(retain,nonatomic) UIButton *button;
@property(retain,nonatomic) UILabel *label;
@property(retain,nonatomic) NSMutableString *string; //NSMutableString用来处理可变对象,如需要处理字符串并更改字符串中的字符
@property(assign,nonatomic) double num1,num2;
@property(assign,nonatomic) NSString *str; @end

5.ViewController.m

//
// ViewController.m
// TestCalculator4
//
// Created by heyonggang on 13-11-28.
// Copyright (c) 2013年 MiracleHe. All rights reserved.
// #import "ViewController.h"
#import <QuartzCore/QuartzCore.h> @interface ViewController () @end @implementation ViewController - (void)viewDidLoad
{
[super viewDidLoad]; //创建标签
self.label=[[UILabel alloc]initWithFrame:CGRectMake(90, 40, 200, 50)];
[self.view addSubview:_label];
self.label.backgroundColor=[UIColor greenColor]; //设置背景颜色
self.label.textColor=[UIColor blackColor]; //字体颜色
//self.label.textAlignment = UITextAlignmentRight; //字体居右
self.label.textAlignment = NSTextAlignmentCenter;
self.label.font=[UIFont systemFontOfSize:32.4]; //设置字体 //添加1-9数字
NSArray *array=[NSArray arrayWithObjects:@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9", nil];
int n=0;
for (int i=0; i<3; i++)
{
for (int j=0; j<3; j++)
{
self.button=[UIButton buttonWithType:UIButtonTypeRoundedRect];
self.button.frame=CGRectMake(30+65*j, 150+65*i, 60, 60);
[self.button setTitle:[array objectAtIndex:n++] forState:UIControlStateNormal]; //注意:[array objectAtIndex:n++]
[self.view addSubview:_button];
[self.button addTarget:self action:@selector(shuzi:) forControlEvents:UIControlEventTouchUpInside]; //addTarget:self 的意思是说,这个方法在本类中也可以传入其他类的指针
}
} //单独添加0
UIButton *button0=[UIButton buttonWithType:UIButtonTypeCustom]; //创建一个圆角矩形的按钮
/*
CALayer *layer = button0.layer;
[layer setMasksToBounds:YES];
[layer setCornerRadius:5.0];
button0.layer.borderColor = [UIColor lightGrayColor].CGColor;
button0.layer.borderWidth = 1.0f;
*/
[button0 setFrame:CGRectMake(30, 345, 60, 60)]; //设置button在view上的位置
//也可以这样用:button0.frame:CGRectMake(30, 345, 60, 60);
[button0 setTitle:@"0" forState:UIControlStateNormal]; //设置button主题
button0.titleLabel.textColor = [UIColor blackColor]; //设置0键的颜色
[button0 addTarget:self action:@selector(shuzi:) forControlEvents:UIControlEventTouchUpInside]; //按下按钮,并且当手指离开离开屏幕的时候触发这个事件
//触发了这个事件后,执行shuzi方法,action:@selector(shuzi:)
[self.view addSubview:button0]; //显示控件 //添加运算符
NSArray *array1=[NSArray arrayWithObjects:@"+",@"-",@"*",@"/",nil];
for (int i=0; i<4; i++)
{
UIButton *button1=[UIButton buttonWithType:UIButtonTypeRoundedRect];
[button1 setFrame:CGRectMake(225, 150+65*i, 60, 60)];
[button1 setTitle:[array1 objectAtIndex:i] forState:UIControlStateNormal];
//[array1 objectAtIndex:i]为获取按钮的属性值
[self.view addSubview:button1];
[button1 addTarget:self action:@selector(go:) forControlEvents:UIControlEventTouchUpInside];
} //添加=
UIButton *button2=[UIButton buttonWithType:UIButtonTypeRoundedRect];
[button2 setFrame:CGRectMake(160, 410, 125, 35)];
[button2 setTitle:@"=" forState:UIControlStateNormal];
[button2 addTarget:self action:@selector(go:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:button2]; //添加清除键
UIButton *button3=[UIButton buttonWithType:UIButtonTypeRoundedRect];
[button3 setFrame:CGRectMake(30, 410, 125, 35)];
[button3 setTitle:@"AC" forState:UIControlStateNormal];
[button3 addTarget:self action:@selector(clean:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:button3]; //添加.
UIButton *button4=[UIButton buttonWithType:UIButtonTypeRoundedRect];
[button4 setFrame:CGRectMake(95, 345, 60, 60)];
[button4 setTitle:@"." forState:UIControlStateNormal];
[button4 addTarget:self action:@selector(shuzi:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:button4]; //后退
UIButton *button5=[UIButton buttonWithType:UIButtonTypeRoundedRect];
[button5 setFrame:CGRectMake(160, 345, 60, 60)];
[button5 setTitle:@"back" forState:UIControlStateNormal];
[button5 addTarget:self action:@selector(back:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:button5]; self.string=[[NSMutableString alloc]init];//初始化可变字符串,分配内存
self.str = [[NSString alloc]init];
// Do any additional setup after loading the view, typically from a nib.
} //0-9方法
- (void)shuzi:(id)sender
{ [self.string appendString:[sender currentTitle]]; //数字连续输入
self.label.text=[NSString stringWithString:_string]; //显示数值
self.num1=[self.label.text doubleValue]; //保存输入的数值
NSLog(@"self.num1 is %f",self.num1); } //计算方法
-(void)go:(id)sender
{
if ([self.str isEqualToString:@""])//当str里为空
{
self.num2=self.num1;
NSLog(@"self.num2 is %f",self.num2);
self.label.text=[NSString stringWithString:_string]; //只要是符号就显示数值
[self.string setString:@""]; //字符串清零
self.str=[sender currentTitle]; //保存运算符为了作判断作何种运算
NSLog(@"%@",_str);
[self.string appendString:self.str];
self.label.text=[NSString stringWithString:_string]; //显示数值
[self.string setString:@""]; //字符串清零
}
else
{
//输出上次计算结果
if ([self.str isEqualToString:@"+"])//之前的符号是+
{
[self.string setString:@""];//字符串清零
self.num2+=self.num1;//num2是运算符号左边的数值,还是计算结果 //输出上次结果后判断这次输入的是何符号
if ([[sender currentTitle]isEqualToString:@"="])
{
NSLog(@"self.num2 is %f",self.num2);
self.label.text=[NSString stringWithFormat:@"%f",self.num2];
self.str=@"";
}
else if ([[sender currentTitle]isEqualToString:@"+"]||[[sender currentTitle]isEqualToString:@"-"]||[[sender currentTitle]isEqualToString:@"*"]||[[sender currentTitle]isEqualToString:@"/"])
{
NSLog(@"self.num2 is %f",self.num2);
self.label.text=[NSString stringWithFormat:@"%f",self.num2];
[self.string setString:@""]; //字符串清零
self.str=[sender currentTitle];//保存运算符为了作判断作何种运算
NSLog(@"%@",_str);
[self.string appendString:self.str];
[self.string setString:@""];//字符串清零
}
} else if ([self.str isEqualToString:@"-"])//之前的符号是-
{
[self.string setString:@""];//字符串清零
self.num2-=self.num1;
//输出上次结果后判断这次输入的是何符号
if ([[sender currentTitle]isEqualToString:@"="])
{
NSLog(@"self.num2 is %f",self.num2);
self.label.text=[NSString stringWithFormat:@"%f",self.num2];
self.str=@"";
}
else if ([[sender currentTitle]isEqualToString:@"+"]||[[sender currentTitle]isEqualToString:@"-"]||[[sender currentTitle]isEqualToString:@"*"]||[[sender currentTitle]isEqualToString:@"/"])
{
NSLog(@"self.num2 is %f",self.num2);
self.label.text=[NSString stringWithFormat:@"%f",self.num2];
[self.string setString:@""];//字符串清零
self.str=[sender currentTitle];//保存运算符为了作判断作何种运算
NSLog(@"%@",_str);
[self.string appendString:self.str];
[self.string setString:@""];//字符串清零
}
} else if([self.str hasPrefix:@"*"])//之前的符号是* hasPrefix:方法的功能是判断创建的字符串内容是否以某个字符开始
{
[self.string setString:@""];//字符串清零
self.num2*=self.num1;
//输出上次结果后判断这次输入的是何符号
if ([[sender currentTitle] isEqualToString:@"="])
{
NSLog(@"self.num2 is %f",self.num2);
self.label.text=[NSString stringWithFormat:@"%f",self.num2];
self.str=@"";
}
else if ([[sender currentTitle]isEqualToString:@"+"]||[[sender currentTitle]isEqualToString:@"-"]||[[sender currentTitle]isEqualToString:@"*"]||[[sender currentTitle]isEqualToString:@"/"])
{
NSLog(@"self.num2 is %f",self.num2);
self.label.text=[NSString stringWithFormat:@"%f",self.num2];
[self.string setString:@""]; //字符串清零
self.str=[sender currentTitle]; //保存运算符为了作判断作何种运算
NSLog(@"%@",_str);
[self.string appendString:self.str]; //在字符串后增加新的东西,[a appendString:]
[self.string setString:@""]; //字符串清零
}
} else if ([self.str isEqualToString:@"/"])//之前的符号是/
{
[self.string setString:@""];//字符串清零
self.num2/=self.num1;
//判断输出上次结果后判断这次输入的是何符号
if ([[sender currentTitle]isEqualToString:@"="])
{
NSLog(@"self.num2 is %f",self.num2);
self.label.text=[NSString stringWithFormat:@"%f",self.num2];
self.str=@"";
}
else if ([[sender currentTitle]isEqualToString:@"+"]||[[sender currentTitle]isEqualToString:@"-"]||[[sender currentTitle]isEqualToString:@"*"]||[[sender currentTitle]isEqualToString:@"/"])
{
NSLog(@"self.num2 is %f",self.num2);
self.label.text=[NSString stringWithFormat:@"%f",self.num2];
[self.string setString:@""];//字符串清零
self.str=[sender currentTitle];//保存运算符为了作判断作何种运算
NSLog(@"%@",_str);
[self.string appendString:self.str];
[self.string setString:@""];//字符串清零
} }
}
} //当按下清除建时,所有数据清零
-(void)clean:(id)sender
{
[self.string setString:@""];//清空字符
self.num1=0;
self.num2=0;
self.label.text=@"0";//保证下次输入时清零 } //返回键
-(void)back:(id)sender
{
if (![self.label.text isEqualToString:@""])//判断不是空
{
[self.string deleteCharactersInRange:NSMakeRange
([self.string length]-1,1)];//删除最后一个字符
self.label.text=[NSString stringWithString:_string];//显示结果
}
} - (void)viewDidUnload
{
[super viewDidUnload];
// Release any retained subviews of the main view.
} - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
} - (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
} @end

---恢复内容结束---

步骤:

1.打开Xcode,单机Creat a new Xcode project

2.左边选择ios下Application,右边选择single view Application

3.填写项目名称单机Next

4.ViewController.h中定义成员和方法

//
// ViewController.h
// TestCalculator4
//
// Created by heyonggang on 13-11-28.
// Copyright (c) 2013年 MiracleHe. All rights reserved.
// #import <UIKit/UIKit.h> @interface ViewController : UIViewController @property(retain,nonatomic) UIButton *button;
@property(retain,nonatomic) UILabel *label;
@property(retain,nonatomic) NSMutableString *string; //NSMutableString用来处理可变对象,如需要处理字符串并更改字符串中的字符
@property(assign,nonatomic) double num1,num2;
@property(assign,nonatomic) NSString *str; @end

5.ViewController.m

//
// ViewController.m
// TestCalculator4
//
// Created by heyonggang on 13-11-28.
// Copyright (c) 2013年 MiracleHe. All rights reserved.
// #import "ViewController.h"
#import <QuartzCore/QuartzCore.h> @interface ViewController () @end @implementation ViewController - (void)viewDidLoad
{
[super viewDidLoad]; //创建标签
self.label=[[UILabel alloc]initWithFrame:CGRectMake(90, 40, 200, 50)];
[self.view addSubview:_label];
self.label.backgroundColor=[UIColor greenColor]; //设置背景颜色
self.label.textColor=[UIColor blackColor]; //字体颜色
//self.label.textAlignment = UITextAlignmentRight; //字体居右
self.label.textAlignment = NSTextAlignmentCenter;
self.label.font=[UIFont systemFontOfSize:32.4]; //设置字体 //添加1-9数字
NSArray *array=[NSArray arrayWithObjects:@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9", nil];
int n=0;
for (int i=0; i<3; i++)
{
for (int j=0; j<3; j++)
{
self.button=[UIButton buttonWithType:UIButtonTypeRoundedRect];
self.button.frame=CGRectMake(30+65*j, 150+65*i, 60, 60);
[self.button setTitle:[array objectAtIndex:n++] forState:UIControlStateNormal]; //注意:[array objectAtIndex:n++]
[self.view addSubview:_button];
[self.button addTarget:self action:@selector(shuzi:) forControlEvents:UIControlEventTouchUpInside]; //addTarget:self 的意思是说,这个方法在本类中也可以传入其他类的指针
}
} //单独添加0
UIButton *button0=[UIButton buttonWithType:UIButtonTypeCustom]; //创建一个圆角矩形的按钮
/*
CALayer *layer = button0.layer;
[layer setMasksToBounds:YES];
[layer setCornerRadius:5.0];
button0.layer.borderColor = [UIColor lightGrayColor].CGColor;
button0.layer.borderWidth = 1.0f;
*/
[button0 setFrame:CGRectMake(30, 345, 60, 60)]; //设置button在view上的位置
//也可以这样用:button0.frame:CGRectMake(30, 345, 60, 60);
[button0 setTitle:@"0" forState:UIControlStateNormal]; //设置button主题
button0.titleLabel.textColor = [UIColor blackColor]; //设置0键的颜色
[button0 addTarget:self action:@selector(shuzi:) forControlEvents:UIControlEventTouchUpInside]; //按下按钮,并且当手指离开离开屏幕的时候触发这个事件
//触发了这个事件后,执行shuzi方法,action:@selector(shuzi:)
[self.view addSubview:button0]; //显示控件 //添加运算符
NSArray *array1=[NSArray arrayWithObjects:@"+",@"-",@"*",@"/",nil];
for (int i=0; i<4; i++)
{
UIButton *button1=[UIButton buttonWithType:UIButtonTypeRoundedRect];
[button1 setFrame:CGRectMake(225, 150+65*i, 60, 60)];
[button1 setTitle:[array1 objectAtIndex:i] forState:UIControlStateNormal];
//[array1 objectAtIndex:i]为获取按钮的属性值
[self.view addSubview:button1];
[button1 addTarget:self action:@selector(go:) forControlEvents:UIControlEventTouchUpInside];
} //添加=
UIButton *button2=[UIButton buttonWithType:UIButtonTypeRoundedRect];
[button2 setFrame:CGRectMake(160, 410, 125, 35)];
[button2 setTitle:@"=" forState:UIControlStateNormal];
[button2 addTarget:self action:@selector(go:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:button2]; //添加清除键
UIButton *button3=[UIButton buttonWithType:UIButtonTypeRoundedRect];
[button3 setFrame:CGRectMake(30, 410, 125, 35)];
[button3 setTitle:@"AC" forState:UIControlStateNormal];
[button3 addTarget:self action:@selector(clean:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:button3]; //添加.
UIButton *button4=[UIButton buttonWithType:UIButtonTypeRoundedRect];
[button4 setFrame:CGRectMake(95, 345, 60, 60)];
[button4 setTitle:@"." forState:UIControlStateNormal];
[button4 addTarget:self action:@selector(shuzi:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:button4]; //后退
UIButton *button5=[UIButton buttonWithType:UIButtonTypeRoundedRect];
[button5 setFrame:CGRectMake(160, 345, 60, 60)];
[button5 setTitle:@"back" forState:UIControlStateNormal];
[button5 addTarget:self action:@selector(back:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:button5]; self.string=[[NSMutableString alloc]init];//初始化可变字符串,分配内存
self.str = [[NSString alloc]init];
// Do any additional setup after loading the view, typically from a nib.
} //0-9方法
- (void)shuzi:(id)sender
{ [self.string appendString:[sender currentTitle]]; //数字连续输入
self.label.text=[NSString stringWithString:_string]; //显示数值
self.num1=[self.label.text doubleValue]; //保存输入的数值
NSLog(@"self.num1 is %f",self.num1); } //计算方法
-(void)go:(id)sender
{
if ([self.str isEqualToString:@""])//当str里为空
{
self.num2=self.num1;
NSLog(@"self.num2 is %f",self.num2);
self.label.text=[NSString stringWithString:_string]; //只要是符号就显示数值
[self.string setString:@""]; //字符串清零
self.str=[sender currentTitle]; //保存运算符为了作判断作何种运算
NSLog(@"%@",_str);
[self.string appendString:self.str];
self.label.text=[NSString stringWithString:_string]; //显示数值
[self.string setString:@""]; //字符串清零
}
else
{
//输出上次计算结果
if ([self.str isEqualToString:@"+"])//之前的符号是+
{
[self.string setString:@""];//字符串清零
self.num2+=self.num1;//num2是运算符号左边的数值,还是计算结果 //输出上次结果后判断这次输入的是何符号
if ([[sender currentTitle]isEqualToString:@"="])
{
NSLog(@"self.num2 is %f",self.num2);
self.label.text=[NSString stringWithFormat:@"%f",self.num2];
self.str=@"";
}
else if ([[sender currentTitle]isEqualToString:@"+"]||[[sender currentTitle]isEqualToString:@"-"]||[[sender currentTitle]isEqualToString:@"*"]||[[sender currentTitle]isEqualToString:@"/"])
{
NSLog(@"self.num2 is %f",self.num2);
self.label.text=[NSString stringWithFormat:@"%f",self.num2];
[self.string setString:@""]; //字符串清零
self.str=[sender currentTitle];//保存运算符为了作判断作何种运算
NSLog(@"%@",_str);
[self.string appendString:self.str];
[self.string setString:@""];//字符串清零
}
} else if ([self.str isEqualToString:@"-"])//之前的符号是-
{
[self.string setString:@""];//字符串清零
self.num2-=self.num1;
//输出上次结果后判断这次输入的是何符号
if ([[sender currentTitle]isEqualToString:@"="])
{
NSLog(@"self.num2 is %f",self.num2);
self.label.text=[NSString stringWithFormat:@"%f",self.num2];
self.str=@"";
}
else if ([[sender currentTitle]isEqualToString:@"+"]||[[sender currentTitle]isEqualToString:@"-"]||[[sender currentTitle]isEqualToString:@"*"]||[[sender currentTitle]isEqualToString:@"/"])
{
NSLog(@"self.num2 is %f",self.num2);
self.label.text=[NSString stringWithFormat:@"%f",self.num2];
[self.string setString:@""];//字符串清零
self.str=[sender currentTitle];//保存运算符为了作判断作何种运算
NSLog(@"%@",_str);
[self.string appendString:self.str];
[self.string setString:@""];//字符串清零
}
} else if([self.str hasPrefix:@"*"])//之前的符号是* hasPrefix:方法的功能是判断创建的字符串内容是否以某个字符开始
{
[self.string setString:@""];//字符串清零
self.num2*=self.num1;
//输出上次结果后判断这次输入的是何符号
if ([[sender currentTitle] isEqualToString:@"="])
{
NSLog(@"self.num2 is %f",self.num2);
self.label.text=[NSString stringWithFormat:@"%f",self.num2];
self.str=@"";
}
else if ([[sender currentTitle]isEqualToString:@"+"]||[[sender currentTitle]isEqualToString:@"-"]||[[sender currentTitle]isEqualToString:@"*"]||[[sender currentTitle]isEqualToString:@"/"])
{
NSLog(@"self.num2 is %f",self.num2);
self.label.text=[NSString stringWithFormat:@"%f",self.num2];
[self.string setString:@""]; //字符串清零
self.str=[sender currentTitle]; //保存运算符为了作判断作何种运算
NSLog(@"%@",_str);
[self.string appendString:self.str]; //在字符串后增加新的东西,[a appendString:]
[self.string setString:@""]; //字符串清零
}
} else if ([self.str isEqualToString:@"/"])//之前的符号是/
{
[self.string setString:@""];//字符串清零
self.num2/=self.num1;
//判断输出上次结果后判断这次输入的是何符号
if ([[sender currentTitle]isEqualToString:@"="])
{
NSLog(@"self.num2 is %f",self.num2);
self.label.text=[NSString stringWithFormat:@"%f",self.num2];
self.str=@"";
}
else if ([[sender currentTitle]isEqualToString:@"+"]||[[sender currentTitle]isEqualToString:@"-"]||[[sender currentTitle]isEqualToString:@"*"]||[[sender currentTitle]isEqualToString:@"/"])
{
NSLog(@"self.num2 is %f",self.num2);
self.label.text=[NSString stringWithFormat:@"%f",self.num2];
[self.string setString:@""];//字符串清零
self.str=[sender currentTitle];//保存运算符为了作判断作何种运算
NSLog(@"%@",_str);
[self.string appendString:self.str];
[self.string setString:@""];//字符串清零
} }
}
} //当按下清除建时,所有数据清零
-(void)clean:(id)sender
{
[self.string setString:@""];//清空字符
self.num1=0;
self.num2=0;
self.label.text=@"0";//保证下次输入时清零 } //返回键
-(void)back:(id)sender
{
if (![self.label.text isEqualToString:@""])//判断不是空
{
[self.string deleteCharactersInRange:NSMakeRange
([self.string length]-1,1)];//删除最后一个字符
self.label.text=[NSString stringWithString:_string];//显示结果
}
} - (void)viewDidUnload
{
[super viewDidUnload];
// Release any retained subviews of the main view.
} - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
} - (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
} @end

IOS做一个简单计算器的更多相关文章

  1. 【Bugly干货分享】一起用 HTML5 Canvas 做一个简单又骚气的粒子引擎

    Bugly 技术干货系列内容主要涉及移动开发方向,是由Bugly邀请腾讯内部各位技术大咖,通过日常工作经验的总结以及感悟撰写而成,内容均属原创,转载请标明出处. 前言 好吧,说是“粒子引擎”还是大言不 ...

  2. MUI框架-05-用MUI做一个简单App

    MUI框架-05-用MUI做一个简单App MUI 是一个前端框架,前端框架就像 Bootstrap,EasyUI,Vue ,为了做 app 呢,就有了更加高效的 MUI,我觉得前端框架有很多,也没有 ...

  3. 基于MFC的一个简单计算器

    写一个简单的计算器并不是什么很难的事,主要目的是要通过这个程序来学习和分析其中的核心算法.这个简易计算器的核心部分就是对输入的表达式的正确性判断与求值,其中包括对表达式的解析.中缀表达式转后缀表达式. ...

  4. 使用React并做一个简单的to-do-list

    1. 前言 说到React,我从一年之前就开始试着了解并且看了相关的入门教程,而且还买过一本<React:引领未来的用户界面开发框架 >拜读.React的轻量组件化的思想及其virtual ...

  5. 【 D3.js 入门系列 --- 3 】 做一个简单的图表!

    前面说了几节,都是对文字进行处理,这一节中将用 D3.js 做一个简单的柱形图. 做柱形图有很多种方法,比如用 HTML 的 div 标签,或用 svg . 推荐用 SVG 来做各种图形.SVG 意为 ...

  6. 一起用HTML5 canvas做一个简单又骚气的粒子引擎

    前言 好吧,说是"粒子引擎"还是大言不惭而标题党了,离真正的粒子引擎还有点远.废话少说,先看demo 本文将教会你做一个简单的canvas粒子制造器(下称引擎). 世界观 这个简单 ...

  7. Jmeter初步使用二--使用jmeter做一个简单的性能测试

    经过上一次的初步使用,我们懂得了Jmeter的安装与初步使用的方法.现在,我们使用Jmeter做一个简单的性能测试.该次测试,提交的参数不做参数化处理,Jmeter各元件使用将在介绍在下一博文开始介绍 ...

  8. 用EF DataBase First做一个简单的MVC3报名页面

    使用EF DataBase First做一个简单的MVC3报名网站 ORM(Object Relational Mapping)是面向对象语言中的一种数据访问技术,在ASP.NET中,可以通过ADO. ...

  9. 【 D3.js 入门系列 — 3 】 做一个简单的图表!

    图1. 柱形图 1. 柱形图 前几章的例子,都是对文字进行处理.本章中将用 D3 做一个简单的柱形图.制作柱形图有很多种方法,比如用 HTML 的 <div> 标签,或在 SVG 上绘制 ...

随机推荐

  1. xcode中没有autoSizing的设置

    转自:http://blog.sina.com.cn/s/blog_954bb2f001016oyx.html 学习Xcode的iOS编程时,可能会发现Autosizing Control不见了,其原 ...

  2. c#给用户控件添加事件处理程序

    1.首先在usercontrol后台添加如下代码: public partial class MyControl: UserControl { //添加事件代理       public event ...

  3. 基于jQuery右侧带缩略图导航的焦点图

    今天我们要来分享一款右侧带缩略图导航的jQuery焦点图插件,这款jQuery焦点图插件的特点是右侧有一列缩略图导航列表,并且可以定义任意数量的图片,你可以拖动列表来查看所有的图片,点击缩略图后,即可 ...

  4. 架构设计:负载均衡层设计方案(6)——Nginx + Keepalived构建高可用的负载层

    1.概述 前两遍文章中,我们一直在说后文要介绍Nginx + Keepalived的搭建方式.这篇文章开始,我们就来兑现前文的承诺,后续的两篇文章我们将介绍Nginx + Keepalived和 LV ...

  5. Enterprise Library深入解析与灵活应用(2): 通过SqlDependency实现Cache和Database的同步

    对于一个真正的企业级的应用来说,Caching肯定是一个不得不考虑的因素,合理.有效地利用Caching对于增强应用的Performance(减少对基于Persistent storage的IO操作) ...

  6. VSS 之 未知的用户名或密码错误

    原因:导致这种现象的原因并不是真的用户名和密码错误,而是验证失败.验证失败也自然就会提示成用户名或密码错误了,只需要做以下更改就能正常验证用户名和密码了.解决方案:运行 组策略编辑器 gpedit.m ...

  7. 探索多线程使用同一个数据库connection的后果

    在项目中看到有用到数据库的连接池,心里就思考着为什么需要数据库连接池,只用一个连接会造成什么影响?(只用一个connection)? 1  猜想:jdbc的事务是基于connection的,如果多线程 ...

  8. 1.5.7 CharFilterFactories

    CharFilterFactories 字符过滤器是一个预处理输入字符的组件,字符过滤器可以链接如token过滤器,并放置在Tokenizer(分词器)的前面,字符过滤器可以添加,更改或删除字符,同时 ...

  9. iOS - UI - UITableView

    1.UITableView 表格视图 服从数据源 - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSIn ...

  10. NSDate简单介绍

    NSDate简单介绍 一:NSDate是一个日期\时间方面的类,主要用来创建\获取时间 1.NSDate对象的创建: date 创建一个当前系统日期和时间的对象 dateWithTimeInterva ...