//
// ViewController.swift
// 007-加法计算器
//
// Created by 庄壮勇 on 2018/1/8.
// Copyright © 2018年 Personal. All rights reserved.
//
import UIKit
class ViewController: UIViewController {
var numText1: UITextField ?
var numText2: UITextField ?
var resultLabel: UILabel ?
override func viewDidLoad() {
super . viewDidLoad ()
setupUI ()
}
/// 计算结果
@objc func clac() -> () {
print ( " \ ( numText1 ?. text ?? "") --- \ ( numText2 ?. text ?? "")" )
// 将文本框内容转换为数值
// Int? 如果文本框内容不是数字 Int之后是nil
// 先测试 let num1 = Int(numText1?.text ?? "")
guard let num1 = Int ( numText1 ?. text ?? "" ), let num2 = Int ( numText2 ?. text ?? "" ) else {
print ( "必须都输入数字才能计算" )
return
}
// 处理结果
resultLabel ?. text = " \ ( num1 + num2 )"
}
func setupUI() -> (){
// 1. 两个textField
let tf1 = UITextField (frame: CGRect (x: 20 , y: 20 , width: 100 , height: 30 ))
tf1. borderStyle = . roundedRect
tf1. text = "0"
view . addSubview (tf1)
let tf2 = UITextField (frame: CGRect (x: 140 , y: 20 , width: 100 , height: 30 ))
tf2. borderStyle = . roundedRect
tf2. text = "0"
view . addSubview (tf2)
// 记录属性
numText1 = tf1
numText2 = tf2
// 2. 两个label
let l1 = UILabel (frame: CGRect (x: 120 , y: 20 , width: 20 , height: 30 ))
l1. text = "+"
l1. textAlignment = . center
view . addSubview (l1)
let l2 = UILabel (frame: CGRect (x: 240 , y: 20 , width: 20 , height: 30 ))
l2. text = "="
l2. textAlignment = . center
view . addSubview (l2)
let l3 = UILabel (frame: CGRect (x: 240 , y: 20 , width: 60 , height: 30 ))
l3. textAlignment = . right
l3. text = "0"
view . addSubview (l3)
resultLabel = l3
// 3. 一个btn
let btn = UIButton ()
btn. setTitle ( "计算" , for: . normal )
btn. setTitleColor ( UIColor . black , for: . normal )
btn. sizeToFit ()
btn. center = view . center
view . addSubview (btn)
btn. addTarget ( self , action: #selector ( clac ), for: . touchUpInside )
}
}
// ViewController.swift
// 007-加法计算器
//
// Created by 庄壮勇 on 2018/1/8.
// Copyright © 2018年 Personal. All rights reserved.
//
import UIKit
class ViewController: UIViewController {
var numText1: UITextField ?
var numText2: UITextField ?
var resultLabel: UILabel ?
override func viewDidLoad() {
super . viewDidLoad ()
setupUI ()
}
/// 计算结果
@objc func clac() -> () {
print ( " \ ( numText1 ?. text ?? "") --- \ ( numText2 ?. text ?? "")" )
// 将文本框内容转换为数值
// Int? 如果文本框内容不是数字 Int之后是nil
// 先测试 let num1 = Int(numText1?.text ?? "")
guard let num1 = Int ( numText1 ?. text ?? "" ), let num2 = Int ( numText2 ?. text ?? "" ) else {
print ( "必须都输入数字才能计算" )
return
}
// 处理结果
resultLabel ?. text = " \ ( num1 + num2 )"
}
func setupUI() -> (){
// 1. 两个textField
let tf1 = UITextField (frame: CGRect (x: 20 , y: 20 , width: 100 , height: 30 ))
tf1. borderStyle = . roundedRect
tf1. text = "0"
view . addSubview (tf1)
let tf2 = UITextField (frame: CGRect (x: 140 , y: 20 , width: 100 , height: 30 ))
tf2. borderStyle = . roundedRect
tf2. text = "0"
view . addSubview (tf2)
// 记录属性
numText1 = tf1
numText2 = tf2
// 2. 两个label
let l1 = UILabel (frame: CGRect (x: 120 , y: 20 , width: 20 , height: 30 ))
l1. text = "+"
l1. textAlignment = . center
view . addSubview (l1)
let l2 = UILabel (frame: CGRect (x: 240 , y: 20 , width: 20 , height: 30 ))
l2. text = "="
l2. textAlignment = . center
view . addSubview (l2)
let l3 = UILabel (frame: CGRect (x: 240 , y: 20 , width: 60 , height: 30 ))
l3. textAlignment = . right
l3. text = "0"
view . addSubview (l3)
resultLabel = l3
// 3. 一个btn
let btn = UIButton ()
btn. setTitle ( "计算" , for: . normal )
btn. setTitleColor ( UIColor . black , for: . normal )
btn. sizeToFit ()
btn. center = view . center
view . addSubview (btn)
btn. addTarget ( self , action: #selector ( clac ), for: . touchUpInside )
}
}