import UIKit
class AddTimeViewController: UIViewController {
private let datePicker = UIDatePicker()
override func viewDidLoad() {
super.viewDidLoad()
configureUI()
}
// MARK: - UI
private func configureUI() {
setAttributes()
setContraints()
}
private func setAttributes() {
datePicker.preferredDatePickerStyle = .inline
datePicker.datePickerMode = .dateAndTime
datePicker.locale = Locale(identifier: "ko-KR")
datePicker.timeZone = .autoupdatingCurrent
datePicker.addTarget(self, action: #selector(handleDatePicker(_:)), for: .valueChanged)
datePicker.tintColor = hexStringToUIColor(hex: "#0CA2F5")
}
private func setContraints() {
view.addSubview(datePicker)
datePicker.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([
datePicker.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 10),
datePicker.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: -10),
datePicker.centerYAnchor.constraint(equalTo: view.centerYAnchor),
datePicker.topAnchor.constraint(equalTo: view.topAnchor, constant: 80)
])
}
// MARK: - Selectors
@objc
private func handleDatePicker(_ sender: UIDatePicker) {
print(sender.date)
}
@IBAction func backBtn(_ sender: UIButton) {
dismiss(animated: true)
}
@IBAction func addBtn(_ sender: UIButton) {
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss EEE"
// formatter.dateStyle = .medium
// formatter.timeStyle = .medium
addTimeTable.addTime = formatter.string(from: datePicker.date)
print(addTimeTable.addTime)
dismiss(animated: true)
}
}
extension AddTimeViewController {
func hexStringToUIColor (hex:String) -> UIColor {
var cString:String = hex.trimmingCharacters(in: .whitespacesAndNewlines).uppercased()
if (cString.hasPrefix("#")) {
cString.remove(at: cString.startIndex)
}
if ((cString.count) != 6) {
return UIColor.gray
}
var rgbValue:UInt32 = 0
Scanner(string: cString).scanHexInt32(&rgbValue)
return UIColor(
red: CGFloat((rgbValue & 0xFF0000) >> 16) / 255.0,
green: CGFloat((rgbValue & 0x00FF00) >> 8) / 255.0,
blue: CGFloat(rgbValue & 0x0000FF) / 255.0,
alpha: CGFloat(1.0)
)
}
}
![](https://velog.velcdn.com/images%2Frlawnstn01023%2Fpost%2Ffade9abc-f02e-4f06-bf95-4ca4127c7fd4%2Fimage.png)