gpt4 book ai didi

objective-c - OS X 应用程序对焦环没有变化

转载 作者:行者123 更新时间:2023-12-03 17:38:49 25 4
gpt4 key购买 nike

我的应用程序有 7 个按钮。当它启动时,其中一个(不是第一个)周围有一个蓝色的环。单击另一个按钮不会改变这一点。我在属性检查器中没有看到任何区别。所有按钮的对焦环均设置为默认值。

将该按钮的聚焦环设置为“无”可以满足我的需求,但我不明白为什么这个按钮有所不同。

最佳答案

在系统偏好设置、键盘 Pane 、快捷方式选项卡中,有一对单选按钮控制完全键盘访问。您已选择“所有控件”。这允许按钮(除其他外)获得焦点。

当窗口首次放置在屏幕上时,它将尝试将焦点放在第一个接受它的控件上。 “第一”是由按键循环决定的。在大多数情况下,应用程序不会费心设置按键循环,并且窗口被配置为自动计算它,它或多或少地基于阅读方向(例如,英语从上到下、从左到右)。因此,它选择了您的第一个按钮来给予焦点。

正如 Jesse Rusak 在评论中建议的那样,如果按 Tab,焦点将循环到下一个按钮,依此类推。

如果您希望其他控件具有初始焦点,您可以将窗口的 initialFirstResponder 导出连接到 NIB 中的该控件。或者您可以在显示之前以编程方式设置它(在某些时候 after -awakeFromNib )。

您可以将按钮设置为不显示聚焦环,但这并不妨碍它们聚焦。按空格键仍会按下聚焦按钮,即使它没有显示聚焦环。按 T​​ab 键将循环到下一个按钮,因此您必须对所有按钮进行更改。

或者,您可以将按钮设置为拒绝第一响应者。但是,这会阻止想要/需要使用键盘来导航 UI 的人这样做(不使用 VoiceOver 或其他辅助技术)。

关于objective-c - OS X 应用程序对焦环没有变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27432329/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com