4

我的应用程序中有一个NSSplitView。它的分隔线位置是固定的,用户不能左右拖动分隔线。现在我正在添加对可访问性的支持。使用 VoiceOver 时,用户可以选择并拖动分隔线。这打破了我的用户界面。我如何告诉 VoiceOver,它应该忽略分隔线?

我正在使用自 OS X 10.10 起可用的新辅助功能协议。

设置splitView.isAccessibilityElementor splitView.isAccessibilityEnabledtono不起作用。

谢谢你的帮助!

4

1 回答 1

4

好的,我问了 WWDC 的 AppKit 团队的一个好人。他告诉我,目前这是不可能的——因为我无法访问divider内部splitView

解释:禁用 a 上的可访问性支持NSView,使特定视图不可访问,但不是其子视图 - 这通常是所需的行为

由于分隔线是 的子视图NSSplitView,因此这是行不通的。

解决方案:我最终不再使用NSSplitView,因为我不需要任何特定于类的功能。分隔线在我的应用程序中是固定的。

相反,我曾经NSStackView封装我的子视图 - 它工作得很好。(隐藏和显示子视图)

于 2015-07-23T07:15:01.977 回答