ストップウォッチのアプリを作ったのですが、秒数をカウントする際に数字が揺れてしまいます。
何が原因なのでしょうか?
swift
1 2import UIKit 3 4class ViewController: UIViewController { 5 6 @IBOutlet weak var stopButton: UIButton! 7 @IBOutlet weak var startButton: UIButton! 8 @IBOutlet weak var recetButton: UIButton! 9 @IBOutlet weak var labelTimer: UILabel! 10 11 var timer = Timer() 12 var startTime:TimeInterval = 0 13 var elapsedTime:Double = 0.0 14 var time:Double = 0.0 15 16 17 override func viewDidLoad() { 18 super.viewDidLoad() 19 // Do any additional setup after loading the view, typically from a nib. 20 } 21 22 override func didReceiveMemoryWarning() { 23 super.didReceiveMemoryWarning() 24 // Dispose of any resources that can be recreated. 25 } 26 27 @IBAction func stopButton(_ sender: Any) { 28 startButton.isEnabled = true 29 recetButton.isEnabled = true 30 31 stopButton.isEnabled = false 32 timer.invalidate() 33 elapsedTime = time 34 } 35 36 @IBAction func startButton(_ sender: Any) { 37 startButton.isEnabled = false 38 recetButton.isEnabled = false 39 40 stopButton.isEnabled = true 41 42 startTime = Date().timeIntervalSince1970 43 44 timer = Timer.scheduledTimer(timeInterval: 0.01, target: self,selector: #selector(self.update),userInfo:nil, repeats: true) 45 46 } 47 48 func update(){ 49 time = Date().timeIntervalSince1970 - startTime + elapsedTime 50 51 //整数(Int)と小数分割 52 let sec = Int(time) 53 let msec = Int((time - Double(sec))*100) 54 55 //表示 56 let displayStr = NSString(format:"%02d:%02d.%02d", sec/60, sec%60, msec) as String 57 labelTimer.text = displayStr 58 } 59 60 @IBAction func recetButton(_ sender: Any) { 61 elapsedTime = 0.0 62 labelTimer.text = "00:00.00" 63 } 64} 65 66
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/11/14 06:58