iOS/iOS FastCampus

번역기앱) enum의 활용

Developer-Michelle 2023. 6. 20. 20:50

한국어, 영어버튼을 유지보수성 있게 enum으로 정리.

import UIKit
import SnapKit

enum Language {
    case ko
    case en
    case ja
    case ch
    
    var title: String {
        switch self {
        case .ko: return "한국어"
        case .en: return "영어"
        case .ja: return "일본어"
        case .ch: return "중국어"
        }
    }
}

final class TranslateViewController: UIViewController {
    private var sourceLanguage: Language = .ko
    private var targetLanguage: Language = .en
    
    private lazy var sourceLanguageButton: UIButton = {
        let button = UIButton()
        button.setTitle(sourceLanguage.title, for: .normal)
        button.titleLabel?.font = .systemFont(ofSize: 15.0, weight: .semibold)
        button.setTitleColor(.label, for: .normal)
        button.backgroundColor = .systemBackground
        button.layer.cornerRadius = 9.0
        
        return button
    }()
    
    private lazy var targetLanguageButton: UIButton = {
        let button = UIButton()
        button.setTitle(targetLanguage.title, for: .normal)
        button.titleLabel?.font = .systemFont(ofSize: 15.0, weight: .semibold)
        button.setTitleColor(.label, for: .normal)
        button.backgroundColor = .systemBackground
        button.layer.cornerRadius = 9.0
        
        return button
    }()

 

'iOS > iOS FastCampus' 카테고리의 다른 글

번역기앱) textview delegate 사용  (0) 2023.06.20
SwiftUI Enum 을 활용한 리팩토링 깔끔하게.  (0) 2023.06.05