iOS 개발자/iOS 프로젝트

iOS 프로젝트/TiTi-공부를 위한 타이머/iOS UPDATE

FDEE 2021. 1. 26. 22:27

iOS / Version : 3.3 / Date: 2021/01/21

RESET 버튼을 제거하고, SETTING 버튼으로 자리를 이동시켰습니다.

그리고서 남은 자리에 TIMER 버튼을 새로 넣었습니다.

누적시간을 유지하며 타이머 시간만 능동적으로 수정이 가능하겠금 화면을 추가로 제작하였습니다.

 

 

1. 타이머 설정화면 추가 

 

override func viewDidLoad() {
        super.viewDidLoad()
        hideKeyboard()
        
        second = UserDefaults.standard.value(forKey: "second") as? Int ?? 2400
        Label_timer.text = printTime(temp: second)
        
        Text_H.keyboardType = .numberPad
        Text_M.keyboardType = .numberPad
        Text_S.keyboardType = .numberPad
        
        Button_set.layer.cornerRadius = 10
        Button_set.layer.borderWidth = 2
        Button_set.layer.borderColor = BLUE?.cgColor
        
        Button_Back.layer.cornerRadius = 10
        Button_Back.layer.borderWidth = 2
        Button_Back.layer.borderColor = UIColor.white.cgColor

        Text_H.addTarget(self, action: #selector(textFieldDidChange(textField:)), for: UIControl.Event.editingChanged)
        Text_M.addTarget(self, action: #selector(textFieldDidChange(textField:)), for: UIControl.Event.editingChanged)
        Text_S.addTarget(self, action: #selector(textFieldDidChange(textField:)), for: UIControl.Event.editingChanged)
        
        //종료예정시간 보이기
        Label_toTime.text = getFutureTime()
    }

 

기존에 타이머 값으로 저장된 second를 불러와 시간값으로 변경하여 보여줍니다.

또한 현재시간을 기준으로 타이머시간이 지난 예정종료시간까지 같이 보여줍니다.

 

func printTime(temp : Int) -> String
    {
        let S = temp%60
        let H = temp/3600
        let M = temp/60 - H*60
        
        let stringS = S<10 ? "0"+String(S) : String(S)
        let stringM = M<10 ? "0"+String(M) : String(M)
        
        let returnString  = String(H) + ":" + stringM + ":" + stringS
        return returnString
    }

기존에 메인화면에서 사용된 시간형태로 변환하는 함수를 그대로 사용하였습니다.

 

func getFutureTime() -> String
    {
        //log 날짜 설정
        let now = Date()
        let future = now.addingTimeInterval(TimeInterval(second))
        let dateFormatter = DateFormatter()
        dateFormatter.dateFormat = "hh:mm a"
        let today = dateFormatter.string(from: future)
        return today
    }

현재시간을 기준으로 종료예정시간을 구하는 함수를 그대로 사용하였습니다.

 

 

 

[앱스토어 링크]

https://apps.apple.com/kr/app/titi-공부를-위한-타이머/id1519159240

 

‎TiTi - 공부를 위한 타이머

‎간편하게 시작, 종료 버튼으로 하루 공부시간을 측정! 정지회수를 통해 평균 공부 지속시간을 측정해드립니다! 일주일간의 공부기록을 통해 새로운 목표를 만들어보세요! — TiTi만의 특징 —

apps.apple.com