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

SwiftUI中NavigationSplitView内按键事件无法传递问题求助

SwiftUI中NavigationSplitView内按键事件无法传递问题求助

嘿,各位大佬,我碰到个棘手的问题想请教下!我尝试在SwiftUI的NavigationSplitView内部处理按键事件,但不知道为啥,NavigationSplitView好像没办法把按键事件传递到里面的控件上,完全没达到预期效果。有没有人能帮我看看我哪里写错了?万分感谢!

下面是我目前的代码,它没按预想的工作,我都不知道从哪开始排查错误了:

import SwiftUI

struct ContentView: View {
    @State var text:String = ""
    var body: some View {
        VStack {
            HStack{
                Text("Works:")
                TextField("test1", text: $text).onKeyPress(action: {
                    keyEvent in
                    print(keyEvent.debugDescription)
                    return .ignored
                })
            }
            NavigationSplitView {
                Text("a")
            } detail: {
                HStack{
                    Text("Doesnt work")
                    TextField("test3", text: $text).onKeyPress(action: {
                        keyEvent in
                        // 这里的按键事件完全没触发,控制台啥都打不出来
                        print(keyEvent.debugDescription)
                        return .ignored
                    })
                }
            }
        }
    }
}

补充下现象:外面的test1 TextField的onKeyPress能正常打印按键的调试信息,但NavigationSplitView详情页里的test3 TextField完全没反应,按键事件根本没触发。有没有大佬知道这是啥原因,或者该从哪些方向排查呀?

备注:内容来源于stack exchange,提问作者B_Eis

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.17 09:34:39