本文價值與收獲
看完本文后,您將能夠作出下面的界面
看完本文您將掌握的技能
- UIDatePicker基礎使用
- 掌握SwiftUI使用UIDatePicker方法
代碼
import SwiftUI
struct ContentView: View {
@State var date = Date()
var body: some View {
VStack{
Text("SwiftUI封裝UIKit之UIPicker")
UDatePicker(date: self.$date)
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
struct UDatePicker: UIViewRepresentable {
@Binding var date: Date
private let datePicker = UIDatePicker()
func makeUIView(context: Context) -> UIDatePicker {
datePicker.datePickerMode = .date
//datePicker.datePickerStyle = .m
datePicker.addTarget(context.coordinator, action: #selector(Coordinator.changed(_:)), for: .valueChanged)
return datePicker
}
func updateUIView(_ uiView: UIDatePicker, context: Context) {
datePicker.date = date
}
func makeCoordinator() -> UDatePicker.Coordinator {
Coordinator(date: $date)
}
class Coordinator: NSObject {
private let date: Binding<Date>
init(date: Binding<Date>) {
self.date = date
}
@objc func changed(_ sender: UIDatePicker) {
self.date.wrappedValue = sender.date
}
}
}
推薦
基礎文章推薦
經典教程推薦
- onevcat 大神的《SwiftUI 與 Combine 編程》
- 更新近百篇SwiftUI教程《SwiftUI2020教程》
- 幫您突破數據存儲難關《SwiftUI vs CoreData數據存儲解決方案》
技術源碼推薦
推薦文章
CoreData篇
Combine篇
TextField篇
- 《SwiftUI 一篇文章全面掌握TextField文本框 (教程和全部源碼)》
- 《SwiftUI實戰之TextField風格自定義與formatters》
- 《SwiftUI實戰之TextField如何給鍵盤增加個返回按鈕(隱藏鍵盤)》
- 《SwiftUI 當鍵盤出現時避免TextField被遮擋自動向上移動》
- 《SwiftUI實戰之TextField如何給鍵盤增加個返回按鈕(隱藏鍵盤)》
JSON文件篇
一篇文章系列
- SwiftUI一篇文章全面掌握List(教程和源碼)
- 《SwiftUI 一篇文章全面掌握TextField文本框 (教程和全部源碼)》
- SwiftUI一篇文章全面掌握Picker,解決數據選擇(教程和源碼)
- SwiftUI一篇文章全面掌握Form(教程和源碼)
- SwiftUI Color 顏色一篇文章全解決
技術交流
QQ:3365059189
SwiftUI技術交流QQ群:518696470
- 請關注我的專欄icloudend, SwiftUI教程與源碼
https://www.jianshu.com/c/7b3e3b671970