SwiftUI:如何通过编程方式让DatePicker获取焦点
SwiftUI中编程式让DatePicker获取焦点
你之前的问题在于没结合FocusState管理焦点状态,.focused()修饰符并非只适用于TextField,DatePicker同样可以使用。按以下步骤实现:
- 定义一个
@FocusState属性,用来标记DatePicker的焦点状态 - 给DatePicker添加
.focused()修饰符,绑定到这个属性 - 在按钮的点击事件中,将该属性设为
true,即可触发DatePicker获取焦点
完整代码示例:
struct ContentView: View { @State private var selectedDate = Date() @FocusState private var isDatePickerFocused: Bool var body: some View { DatePicker( "Picker", selection: $selectedDate, displayedComponents: .date ) .focused($isDatePickerFocused) Button("Focus") { isDatePickerFocused = true } } }
点击"Focus"按钮后,DatePicker会自动唤起日期选择界面(iOS端表现),完成编程式获取焦点的需求。
内容的提问来源于stack exchange,提问作者alexm
相关产品推荐
相关产品推荐

