NSTableRowView +辅助功能

时间:2016-03-12 15:23:32

标签: swift macos accessibility

我一直在将我的代码迁移到Swift,现在我正在尝试通过切换到基于视图的表视图(OS X)来实现UI的现代化。使用基于单元格的tableview,提供可访问性标题等就像覆盖单元格上的func accessibilityTitle()一样简单(它是NSTextFieldCell的子类) - 但不幸的是,NSTableRowView,这并不容易。

我已经覆盖了我能想到的所有内容,但VoiceOver仍然会读取“Table View Cell”而不是其他内容。被覆盖的方法甚至不会被调用。

我还覆盖了func isAccessibilityElement() -> Boolfunc isAccessibilitySelectorAllowed(selector: Selector) -> Boolfunc accessibilityIsAttributeSettable(attribute: String) -> Bool以始终返回true。这些方法甚至都没有被调用。

我也试过让单元格符合NSAccessibilityStaticText,但这在Swift中是不可能的,所以我尝试了一个黑客,覆盖conformsToProtocol(_:),但是从来没有被调用过。< / p>

我尝试过的另一件事是覆盖func respondsToSelector(_:)来检查哪些选择器是运行时检查,但是没有任何帮助可以检查。

有没有人试图解决这个问题?我想要的只是为VoiceOver提供一个自定义字符串来读出......

0 个答案:

没有答案