版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zcc9618/article/details/82956914
# xcode如何复制控件 #
alt + 鼠标按住控件拖拽
********************************************************************
# 把控件定义为后台变量 #
鼠标右键按住左侧控件 + 拖至右侧代码处(出现一条线时释放)
*************************************************************************************
# 删除控件的后台代码定义 #
不仅要删除后台代码,还要右击控件,删除outlet联系。否则,运行会报错。
**************************************************************************************************************
# 多个控件同一段代码控制 #
选中多个按钮,分别右击拖至后台要关联代码处,出现小方框时释放(不是出现线),可使多个按钮用相同代码控制
*********************************************************************************************************
计算器相关代码(有不合理的地方)
import UIKit
class ViewController: UIViewController {
var dotInput = false; //判断小数点是否已输入
var newInput = true; //判断是否输入新的数值
var cacheNumber = "" //缓冲临时数值
var op = "" //缓冲运算符
@IBOutlet weak var resultLabel: UILabel!
//点击小数点
@IBAction func dotClick(_ sender: UIButton) {
if !dotInput{ //如果小数点未输入,则执行下面语句
resultLabel.text! += "."
dotInput = true
}
}
//点击数字按钮
@IBAction func numberClick(_ sender: UIButton) {
//输入单个整数
//resultLabel.text = sender.titleLabel?.text
//输入整数
//let screenNum = Int(resultLabel.text! )
//resultLabel.text = "\(screenNum! * 10 + Int(sender.titleLabel!.text!)!)"
let screenNum = Int(resultLabel.text! )
if dotInput{ //如果小数点输入,则执行下面语句
resultLabel.text! += sender.titleLabel!.text!
}
else{ //如果小数点未输入,则执行下面语句
resultLabel.text = "\(screenNum! * 10 + Int(sender.titleLabel!.text!)!)"
}
}
//点击 + - * / 运算符按钮
@IBAction func operatorClick(_ sender: UIButton) {
cacheNumber = resultLabel.text!
op = sender.titleLabel!.text!
resultLabel.text = "0"
dotInput = false
newInput = true
}
//运算
func calculate(){
let num1 = Double(cacheNumber)!
let num2 = Double(resultLabel.text!)!
var result:Double
if "+" == op {
result = num1 + num2
}
else if "-" == op {
result = num1 - num2
}
else if "*" == op {
result = num1 * num2
}
else if "/" == op {
result = num1 / num2
}
else {
result = 0
}
resultLabel.text = "\(result)"
dotInput = false
newInput = true
}
//点击运算按钮 =
@IBAction func equalClick(_ sender: UIButton) {
calculate()
}
//复位 AC 按钮
@IBAction func clearClick(_ sender: UIButton) {
dotInput = false
newInput = true
cacheNumber = "0"
op = ""
resultLabel.text = "0"
}
}