Text
SwiftUI
의 Text
뷰에는 화면에서 날짜를 더보기 좋게 만드는 두 가지 date formatters
가 있습니다.
하나는 단일 날짜를 처리하고, 다른 하나는 날짜 범위를 처리합니다.
date formatter
를 대한민국의 날짜로 만들어 주기위해 작성해줘야 하는것이 있습니다.
static let dateformat: DateFormatter = {
let formatter = DateFormatter()
formatter.dateFormat = "YYYY년 M월 d일"
return formatter
}()
이렇게 dateformat
을 만들어주고, 이제 Text
로 출력을 해줘야 하는데 오늘의 날짜를 우선 생성해줘야 합니다.
var today = Date()
var body: some View {
Text("오늘의 날짜입니다 : \(today)")
}
저렇게 today
를 불러오면 위 사진처럼 전체 날짜 및 위치가 뜨게 되는데, 이것을 우리가 만들어준 dateFormatter
를 사용해여 원하는 텍스가 출력될 수 있도록 만들어 줘야 합니다.
Text("오늘의 날짜입니다 : \(today, formatter: ContentView.dateFormat)")
formatter를 작성할때 "YYYY년 M월 d일" 의 'd일
'을 대문자 'D
'로 쓰면 날짜 오류가 납니다.
그렇기 때문에 반드시 소문자 'd일
' 로 작성 해야합니다.
DatePicker
DatePicker
에서 사용할 수 있는 DateFormatter
사용법에 대해서 알아보도록 하겠습니다.
먼저 DateFormatter
를 변수로 생성해주고 dateStyle
을 만들어 return
해줘야 합니다.
var dateFormatter: DateFormatter {
let formatter = DateFormatter()
formatter.dateStyle = .long
return formatter
}
formatter.dateStyle = .long / .medium / . short
등 다양한 옵션이 있으니 확인해보는것이 좋습니다.
만약, 대한민국의 날짜 형태로 나타나게 하고 싶다면 아래와 같이 작성합니다.
static let dateFormat: DateFormatter = {
let formatter = DateFormatter()
formatter.dateFormat = "YYYY년 M월 d일"
return formatter
}()
VStack
안에 DatePicker
을 넣어 아래와 같이 코드를 넣어주면 되는데, displayedComponents
스타일을 .date
로 지정 해줘야 합니다.
(displayedComponents
에 관한 내용은 게시물 아래로 내려보시면 알 수 있습니다.)
@State private var birthDate = Date()
var body: some View {
VStack {
DatePicker(selection: $birthDate, in: ...Date(), displayedComponents: .date) {
Text("날짜를 선택하세요")
}
Text("오늘의 날짜는 \(birthDate, formatter: ContentView.dateFormat) 입니다.")
}
.padding()
}
}
읽어주셔서 감사합니다🤟
'USEFUL CODE' 카테고리의 다른 글
Swift : 번들에 있는 sound 파일 재생 함수 (0) | 2021.07.29 |
---|---|
(CODE) SwiftUI 컬러 익스텐션 만들기 - 헥스코드활용 (0) | 2021.05.08 |
(CODE) 자동으로 두 줄로 문장을 나눠주는 메서드 (0) | 2021.03.31 |
(CODE) 베젤이 없는 기종과 있는 기기에 SafeArea 각각 적용법 (0) | 2021.03.25 |
SwiftUI: 탭하여 키보드 숨기는방법 - hideKeyboard() (1) | 2021.03.22 |