swift_01_自动布局

前言:

开发环境:xcode11+swift5

 

知识点:

1.snap自动布局

2.计时器的使用

 

import UIKit
import SnapKit
class ViewController: UIViewController {

    var result:UILabel!
    var timer:Timer!
    var lableNumber:Double = 0
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
         let startView = UIView()
        result = UILabel()
        self.view.addSubview(result)
        result.textColor = UIColor.blue
        result.text = "0"
        result.textAlignment = NSTextAlignment.center
        result.backgroundColor = UIColor.yellow
        result.snp.makeConstraints { (make) in
            make.width.equalTo(100)
            make.height.equalTo(50)
            make.centerX.equalTo(self.view.snp.centerX)
            make.top.equalTo(100)
 
        }
        
        startView.backgroundColor = UIColor.init(red: 1, green: 101/255.0, blue: 27/255.0, alpha: 1)
        self.view.addSubview(startView)
        startView.snp.makeConstraints { (make) in
            make.top.equalTo(self.view).offset(300)
            make.left.equalTo(self.view).offset(0)
            make.bottom.equalTo(self.view).offset(0)
            make.width.equalTo(self.view.frame.width / 2)
        }
        
        let startButton:UIButton = UIButton()
        startButton.setTitle("Start", for: .normal)
        startView.addSubview(startButton)
        startButton.snp.makeConstraints { (make) in
            make.center.equalTo(startView)
            make.width.height.equalTo(50)
        }
        startButton.addTarget(self, action: #selector(startHandler), for: .touchUpInside)
        
        let endView = UIView()
        endView.backgroundColor = UIColor.init(red: 98/255.0, green: 242/255.0, blue: 23/255.0, alpha: 1)
        self.view.addSubview(endView)
        endView.snp.makeConstraints { (make) in
            make.top.equalTo(self.view).offset(300)
            make.right.equalTo(self.view).offset(0)
            make.width.equalTo(self.view.frame.width / 2)
            make.bottom.equalTo(self.view).offset(0)
        }
        
        let endButton:UIButton = UIButton()
        endButton.setTitle("End", for: .normal)
        
        endView.addSubview(endButton)
        endButton.snp.makeConstraints { (make) in
            make.center.equalTo(endView).offset(0)
            make.width.height.equalTo(50)
        }
        endButton.addTarget(self, action: #selector(stopHandler), for: .touchUpInside)
        
        let resetButton = UIButton()
        self.view.addSubview(resetButton)
        resetButton.snp.makeConstraints { (make) in
            make.top.equalTo(10)
            make.right.equalTo(-10)
            make.width.equalTo(100)
            make.height.equalTo(50)
        }
        resetButton.setTitleColor(UIColor.blue, for: .normal)
        resetButton.setTitle("Reset", for: .normal)
        resetButton.addTarget(self, action: #selector(resetHandler), for: .touchUpInside)
 
    }
 
    @objc func startHandler(){
        if self.timer != nil {
            self.stopHandler()
        }
        self.timer = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true) { (Timer) in
            self.lableNumber = self.lableNumber + 0.1
            self.result.text = String(format: "%.1f", self.lableNumber)
        }
        self.timer.fire()
    }
    
    @objc func stopHandler(){
        guard let timerForDistory = self.timer
            else {return}
        timerForDistory.invalidate()
    }
    
    @objc func resetHandler(){
        self.lableNumber = 0
        self.result.text = "0"
    }
    
}

 

posted on 2019-10-05 09:23  cj2527  阅读(154)  评论(0)    收藏  举报

导航