Swift UI可以在TextFields和Pickers之间切换选项卡焦点吗?

i2loujxw  于 11个月前  发布在  Swift
关注(0)|答案(2)|浏览(107)

Swift UI Form(在Mac OS,Xcode 13上),它有一些TextField,中间有一个带有两个Text选项的Picker。目前,用户可以按Tab键在TextField之间移动焦点,但是它跳过了选择器选项。我试过将.focusable()添加到选择器和选择器内的文本选项,但没有效果。我希望用户可以按tab键选择选择器组,并使用箭头键在选项之间移动,然后再按tab键移动到下一个TextField。
下面是我的代码的一个快速示例(缩短为相关内容)

Form
{
    TextField("First text field", text: $first)
        .focused($focused, equals: .first)

    Picker("Picker", selection: $pickerSelection)
    {
        Text("Option 1").tag(true as Bool?)
        Text("Option 2").tag(false as Bool?)
    }

    TextField("Second text field", text: $second)
        .focused($focused, equals: .second)
}

字符串

a64a0gku

a64a0gku1#

我可以通过在系统偏好设置>键盘>快捷方式下启用“使用键盘导航在控件之间移动焦点”来实现这一点。
一旦这个设置被启用,我的选择器就开始充当一个制表位。不幸的是,它必须在每个用户的设备上启用才能生效;然而,我看不到任何方法。
Mac Settings

lb3vh1jj

lb3vh1jj2#

在macOS 14上,该设置的位置和名称发生了更改:

相关问题