前言
使用Xcode工具用Swift语言编写代码,实现一个基本的计算器,计算器最起码要实现iPhone手机中简易计算器的功能(加减乘除以及清空,小数点等功能)。最后还要合理调整视图,让计算器看上去美观,实用。
设计思路:
先新建一个xcode工程,添加控件设计好计算器可视化界面
进入编辑器,开始编写计算机运算代码,设置变量(num1,num2,result)
关联控件:按住control,将控件一一拖进Swift文件,编写代码,依次关联每个控件
所有控件拖进Swift文件以后,开始编写加减乘除,清零,小数点等功能板块的代码
基本功能实现以后,运行程序,检测每一个按键是否按照预期功能进行,最后适当美化界面即可
具体实现过程
1. 新建一个工程,
单击Main.storyboard进入故事版界面,进行界面设置

2. 搭建界面:
添加20个button控件,1个Label控件用来显示输入的运算数和结果,调整每个按键的大小,注意界面的美化。
点击这个铜钱模样的图标,添加控件

右边可修改颜色、字体、大小等


分别添加数字和运算符,最后成型苹果计算机的界面

3. 关联控件
通过使用代码来实现相应的逻辑。Xcode自动会生成一个ViewController类,它继承自UIViewController。在这里面将控件拖入Swift文件中。
定义变量
var num1,num2,result,OP:String!
var flag:Int=0
添加数字
将20个button添加到最后一个花括号前,将数字0-9命名为ClickZero-ClickNine,connection选择action
@IBAction func ClickZero(_ sender: Any)
{
num1.append("0")
label.text=num1
}
@IBAction func ClickOne(_ sender: Any)
{
num1.append("1")
label.text=num1
}
@IBAction func ClickTwo(_ sender: Any)
{
num1.append("2")
label.text=num1
}
@IBAction func ClickThree(_ sender: Any)
{
num1.append("3")
label.text=num1
}
@IBAction func ClickFour(_ sender: Any) {
num1.append("4")
label.text=num1
}
@IBAction func ClickFive(_ sender: Any)
{
num1.append("5")
label.text=num1
}
@IBAction func ClickSix(_ sender: Any)
{
num1.append("6")
label.text=num1
}
@IBAction func ClickSeven(_ sender: Any)
{
num1.append("7")
label.text=num1
}
@IBAction func ClickEight(_ sender: Any)
{
num1.append("8")
label.text=num1
}
@IBAction func ClickNine(_ sender: Any) {
num1.append("9")
label.text=num1
}
添加运算符
.、=、C、+、-、*、/代码,操作步骤和上面一样
加运算:
@IBAction func ClickPlus(_ sender: Any) {
if flag==0
{
num2=num1
num1=""
label.text=""
flag=1
OP="+"
}
else
{
OP="+" //先判断,实现连加
}
}
减运算:
@IBAction func ClickMinus(_ sender: Any) {
if flag==0
{
num2=num1
num1=""
label.text=""
flag=1
OP="-"
}
else
{
OP="-"
}
}
乘运算:
@IBAction func ClickMultiply(_ sender: Any) {
if flag==0
{
num2=num1
num1=""
label.text=""
flag=1
OP="*"
}
else
{
OP="*"
}
}
除运算:
@IBAction func ClickDivide(_ sender: Any) {
if flag==0
{
num2=num1
num1=""
label.text=""
flag=1
OP="/"
}
else
{
OP="/"
}
}
小数点:
@IBAction func ClickPoint(_ sender: Any) {
num1.append(".")
label.text=num1
}
清零:
@IBAction func Clear(_ sender: Any) {
num1=""
num2=""
label.text="0"
flag=0
}
等于:
@IBAction func ClickEqual(_ sender: Any) {
var s:Double!=0
if (flag==1)&&(num1 != "")&&(num2 != "")
{
switch OP!
{
case "+":
s=Double(num1)!+Double(num2)!
case "-":
s=Double(num2)!-Double(num1)!
case "*":
s=Double(num1)!*Double(num2)!
case "/":
s=Double(num2)!/Double(num1)!
default:
print("=")
}
label.text=String(format:"%.2f",s)
num1=""
num2=label.text
}
}
最后
可运行看看最终效果啦,Xcode提供的控件将计算器可视化表达出来.
这个计算器还不完善,有许多功能还要添加,最后的目标就是能让计算器符合手机APP用户的需求