Xcode 15 Beta 2中TextField无法在预览及模拟器输入问题求助
解决SwiftUI TextField无法输入的问题
针对你在Xcode 15 Beta 2中遇到的TextField无法输入字符的问题,可按以下步骤排查修复:
1. 移除未使用的Core Data环境变量
你的代码中声明了@Environment(\.modelContext)但并未实际使用,在Xcode 15 Beta版本中,这种未注入对应环境的情况可能导致视图异常。直接删除这一行代码:
// 删掉这行 // @Environment(\.modelContext) private var context
2. 修复预览的环境配置(如果需要保留Core Data)
如果后续需要使用Core Data,必须在预览中提供ModelContainer环境,否则环境变量缺失会影响视图功能:
#Preview { do { // 替换成你的Core Data实体类,比如Item.self let container = try ModelContainer(for: YourEntity.self) return NewItem() .modelContainer(container) } catch { return Text("初始化ModelContainer失败: \(error)") } }
3. 排查Xcode Beta版本问题
- 重启Xcode并清理构建缓存(快捷键
Cmd+Shift+K) - 尝试切换模拟器的输入方式:打开模拟器菜单
Hardware -> Keyboard -> Toggle Software Keyboard,使用软件键盘测试输入 - 考虑升级到最新的Xcode 15 Beta版本,旧Beta版本的TextField输入bug可能已被修复
验证代码示例
简化后的可正常输入的代码:
struct NewItem: View { private let limit = 50 @State var keywords: String = "" var body: some View { TextField("Keywords", text: $keywords) } } #Preview { NewItem() }
内容的提问来源于stack exchange,提问作者softshipper
相关产品推荐
相关产品推荐

