You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 11:42:01